मौजूदा उपयोगकर्ता को मौजूदा समूह में कैसे जोड़ें?

मैं अपाचे उपयोगकर्ता जोड़ना चाहता हूं (www-data) को audio समूह। मैंने मैन पेज के लिए पढ़ा है useradd, लेकिन मुझे कोई भाग्य नहीं है । मैं चल रहा हूँ xubuntu 11.10. यहाँ मैं क्या कर रहा हूँ:

$ sudo useradd -G audio www-datauseradd: user 'www-data' already exists

अगर मैं बाहर छोड़ -G विकल्प, बैश, के लिए मदद की जानकारी प्रिंट करता है useradd:

$ sudo useradd  audio www-dataUsage: useradd [options] LOGINOptions: -b, --base-dir BASE_DIR       base directory for the home directory...

मैन पेज से मुझे यह स्पष्ट नहीं है कि इस काम को करने के लिए मुझे किन विकल्पों का उपयोग करना चाहिए ।

useradd कमांड एक नया उपयोगकर्ता जोड़ने का प्रयास करेगा । चूंकि आपका उपयोगकर्ता पहले से मौजूद है, यह वह नहीं है जो आप चाहते हैं ।

इसके बजाय: किसी मौजूदा उपयोगकर्ता को संशोधित करने के लिए, जैसे उस उपयोगकर्ता को किसी नए समूह में जोड़ना, का उपयोग करें usermod कमान।

यह कोशिश करो:

sudo usermod -a -G groupName userName
  • -a (संलग्न) स्विच आवश्यक है. अन्यथा, उपयोगकर्ता को किसी भी समूह से हटा दिया जाएगा, सूची में नहीं ।

  • -G स्विच उपयोगकर्ता को असाइन करने के लिए अतिरिक्त समूहों की एक (अल्पविराम से अलग) सूची लेता है ।

सामान्य तौर पर (जीयूआई के लिए, या पहले से चल रही प्रक्रियाओं के लिए, आदि । ), उपयोगकर्ता लॉग आउट करने और वापस लॉग इन करने की आवश्यकता होगी उनके नए समूह को देखने के लिए जोड़ा गया । वर्तमान शेल सत्र के लिए, आप उपयोग कर सकते हैं newgrp:

newgrp groupName
  • newgrp समूह को वर्तमान शेल सत्र में जोड़ता है ।

किसी समूह में उपयोगकर्ता जोड़ना:

sudo adduser user group

किसी समूह से उपयोगकर्ता को हटाना:

sudo deluser user group

किसी मौजूदा उपयोगकर्ता को जोड़ने के बाद:

usermod -a -G group user  

आपको इसकी आवश्यकता हो सकती है लॉगआउट और लॉगिन से समूह अनुमतियाँ प्राप्त करने के लिए /etc/group.

मैं सामान्य रूप से उपयोग करता हूं

sudo gpasswd -a myuser mygroup

मैं इसे एक उत्तर के रूप में पोस्ट कर रहा हूं क्योंकि मेरे पास टिप्पणी करने के लिए पर्याप्त प्रतिष्ठा नहीं है । जैसा कि @डीपेंडोलिनो ने उल्लेख किया है, इस आदेश के प्रभाव को जारी रखने के लिए:

sudo usermod -a -G groupName userName

...आपको फिर से लॉगआउट / लॉगिन करना होगा ।

हालाँकि, यदि आपको अपनी नई समूह सदस्यता का उपयोग शुरू करने के लिए शॉर्टकट की आवश्यकता है तुरंत (और आपके पास सही है sudo विशेषाधिकार) मुझे यह काम मिल गया है:

$ sudo su -# su [userName]$ groups

स्पष्टीकरण:

  • sudo su - आपको एक रूट शेल देगा
  • su [userName] आपको अपने उपयोगकर्ता के साथ एक शेल में लौटाता है
  • groups जब रन नाउ आपके द्वारा जोड़े गए समूह को दिखाएगा usermod -aG आदेश

मेरे मामले में मैं अपने उपयोगकर्ता को 'डॉकर' समूह जोड़ने की कोशिश कर रहा था

इससे पहले:

$ groupsuserName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd

के बाद:

$ groupsuserName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd docker
sudo usermod -a -G groupName userName

बस ठीक काम करेंगे, लेकिन मैं था रिबूट पूरी तरह से, बस लॉग आउट करें और फिर से लॉग इन करें काम नहीं किया । ..

Ubuntu पर, के बाद से के रूप में लॉग इन करना root सक्षम नहीं है, में उपयोगकर्ता sudo समूह कुछ प्रतिबंधित आदेशों के लिए विशेषाधिकारों को बढ़ा सकता है । किसी भी प्रतिबंधित आदेश के साथ तैयार किया जाना चाहिए sudo विशेषाधिकार को बढ़ाने के लिए ।

sudo usermod -a -G समूह उपयोगकर्ता

मौजूदा उपयोगकर्ता जोड़ देगा user नाम के एक पूरक समूह के लिए group. उपयोगकर्ता का प्राथमिक समूह अपरिवर्तित रहेगा ।

किसी उपयोगकर्ता को किसी समूह में स्थायी रूप से जोड़ने के लिए, इस कमांड को चलाएं:

sudo usermod -a -G <groupname> <username>

फिर लॉग आउट करें और फिर से लॉग इन करें (या यदि आवश्यक हो तो रिबूट करें) ।

स्पष्टीकरण:

usermod आदेश संशोधित करेगा /etc/group फ़ाइल उस समूह के लिए प्रासंगिक लाइन में निर्दिष्ट उपयोगकर्ता नाम सूचीबद्ध करने के लिए । यदि आप चलाते हैं grep <groupname> /etc/group, आपको आउटपुट में अपना उपयोगकर्ता नाम देखना चाहिए ।

लिनक्स में, प्रत्येक प्रक्रिया एक उपयोगकर्ता और समूहों को सौंपी जाती है, और कोई भी बाल प्रक्रिया उपयोगकर्ता और मूल प्रक्रिया के समूहों को विरासत में देती है । तो, इस परिवर्तन को प्रभावी करने और प्रचार करने के लिए, आपको लॉग आउट करना होगा और फिर से लॉग इन करना होगा (किस बिंदु पर /etc/group पढ़ा और इस्तेमाल किया जाता है) । वेलैंड पर, मैंने पाया है कि एक पूर्ण रिबूट आवश्यक है ।

यदि आप कमांड चलाते हैं groups, आप देख सकते हैं कि वर्तमान प्रक्रिया में अपेक्षित समूह हैं या नहीं ।