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


668

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

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

यदि मैं -Gविकल्प छोड़ देता हूं , तो bash, के लिए सहायता जानकारी प्रिंट करता है useradd:

$ sudo useradd  audio www-data
Usage: useradd [options] LOGIN
Options: -b, --base-dir BASE_DIR       base directory for the home directory...

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

जवाबों:


1039

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

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

इसे इस्तेमाल करे:

sudo usermod -a -G groupName userName

उपयोगकर्ता को अपने नए समूह को देखने के लिए लॉग आउट और लॉग इन करना होगा।

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

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


71
sudo usermod -a -G [group-name] [user-name]: सिर्फ उन लोगों के लिए एक ढिलाई है जो केवल शीर्षक पढ़ने के बाद उत्तर पर नज़र डालते हैं
प्रोग्रामर

36
मुझे लगता है कि अब पसंदीदा तरीका है sudo adduser user group। यह सरल और क्लीनर सिंटैक्स है। @Bai से प्रतिक्रिया देखें।
ctbrown

3
@wilhil:: man usermod" -a, --append - उपयोगकर्ता को पूरक समूह (ओं) में जोड़ें। केवल -G विकल्प के साथ उपयोग करें।। -G, --groups GROUP1 [, GROUP2, ... [, GROUPN] ]] [...] यदि उपयोगकर्ता वर्तमान में एक समूह का सदस्य है जो सूचीबद्ध नहीं है, तो उपयोगकर्ता को समूह से हटा दिया जाएगा। इस व्यवहार को -a विकल्प के माध्यम से बदला जा सकता है, जो उपयोगकर्ता को वर्तमान पूरक में जोड़ता है। समूह सूची। "
एडम मिशालिक

18
क्या "लॉगआउट और वापस" भाग के आसपास आने का एक तरीका है? कुछ प्रकार के अपडेट-ग्रुप कमांड, हो सकता है?
कोन-एफ-

14
@ con-f-use, यदि आप चला सकते हैं sudo login -f YOURUSERNAME, तो यह एक नया शेल सत्र शुरू करेगा। idयह सत्यापित करने के लिए कमांड का उपयोग करें कि नया सत्र समूहों के सही सेट में है। हालांकि, यह "वैश्विक" नहीं है - यह उन टर्मिनलों पर लागू नहीं होता है जो पहले से ही खुले हैं। तो, वास्तव में, लॉग आउट करना सबसे अच्छा विकल्प है, जहां संभव है
आरोन मैकडैड

222

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

sudo adduser user group

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

sudo deluser user group

3
ठीक नहीं, यह प्रश्न क्या पूछा जा रहा है
तेजेन्द्र

11
@ तेजेन्द्र की टिप्पणी से यह प्रतीत होता है कि ओपी के प्रश्न का उत्तर देने के लिए उपयोगकर्ता का उपयोग करना वांछनीय / अनिवार्य है; शायद यह उत्तर केवल यह बताने के लिए शब्द गायब है कि एड्यूसर / भ्रम एक बेहतर विकल्प है।
ऋषि

12
मेरे लिए सरल इंटरफ़ेस बेहतर है, यही कारण है कि मुझे यह पसंद है।
बेटलिस्टा

4
ठीक यही सवाल पूछा जा रहा है। @knocte, हाँ, मुझे लगता है कि यह डेबियन विशिष्ट है
Auspex

3
@ एसेक्स मैं पुष्टि कर सकता हूं कि यह रेड हैट पर काम नहीं करता है।
स्टेबू

54

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

usermod -a -G group user  

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


21
कृपया इसे "बोल्ड और लॉग इन" बोल्ड करने के लिए हिस्सा बनाएं।
जिन क्वॉन

FYI करें: मुझे लगता है कि idकमांड को इंगित करना चाहिए कि आपको समूह से बाहर निकलने की आवश्यकता के बिना जोड़ा गया था। id myuser
fususcr

5
उबंटू 14.10 पर मेरे लिए लॉग आउट और बैक करना आवश्यक था।
ए। डिंसीव्स्की

26

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

sudo gpasswd -a myuser mygroup

3
हमारे सिस्टम ubuntu 14.04 पर usermod उपलब्ध नहीं था। यह महान काम किया!
आकर्षित किया

यह डेबियन स्ट्रेच पर भी बहुत काम किया usermodगया , जहां स्थापित नहीं किया गया था।
जोश हबदास

8

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

sudo usermod -a -G groupName userName

... आपको फिर से लॉगआउट / लॉगिन करने की आवश्यकता है।

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

$ sudo su -
# su [userName]
$ groups

स्पष्टीकरण:

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

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

इससे पहले:

$ groups
userName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd

उपरांत:

$ groups
userName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd docker

5

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

sudo usermod -a -G group user

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


1
sudo usermod -a -G groupName userName

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.