سؤال كيفية إضافة مستخدم موجود إلى مجموعة موجودة؟


أرغب في إضافة مستخدم Apache (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...

ليس من الواضح لي من صفحة الرجل ما هي الخيارات التي يجب أن أستخدمها للقيام بهذا العمل.


579
2017-11-15 18:21


الأصل




الأجوبة:


ال useradd سيحاول الأمر إضافة مستخدم جديد. بما أن المستخدم موجود بالفعل فهذا ليس ما تريد.

بدلاً من ذلك: لتعديل مستخدم حالي ، مثل إضافة هذا المستخدم إلى مجموعة جديدة ، استخدم usermod أمر.

جرب هذا:

sudo usermod -a -G groupName userName

المستخدم سوف تحتاج إلى تسجيل الخروج وتسجيل الدخول مرة أخرى لرؤية مجموعتهم الجديدة المضافة.

  • ال -a (إلحاقي) التبديل أمر ضروري. خلاف ذلك ، سيتم إزالة المستخدم من أي مجموعات ، وليس في القائمة.

  • ال -G يأخذ التبديل قائمة (مفصولة بفواصل) من المجموعات الإضافية لتعيين المستخدم.


891
2017-11-15 18:33



sudo usermod -a -G [group-name] [user-name] : مجرد أداة سريعة لأولئك الذين ينظرون فقط إلى الإجابة بعد قراءة العنوان - Programster
أعتقد أن الطريقة المفضلة الآن sudo adduser user group. إنه بناء أكثر بساطة ونظافة. انظر الرد من @ باي. - ctbrown
wilhil: man usermod: "-أذهب- - أضف المستخدم إلى المجموعة (المجموعات) التكميلية. استخدم فقط مع الخيار -G. -G ، - مجموعات GROUP1 [، GROUP2، ... [، GROUPN]]] [...] إذا كان المستخدم حاليًا عضوًا في مجموعة غير مدرجة ، فستتم إزالة المستخدم من المجموعة. يمكن تغيير هذا السلوك عبر الخيار -a ، الذي يُلحق المستخدم بقائمة المجموعة التكميلية الحالية. " - Adam Michalik
هل هناك طريقة للالتفاف على جزء "الخروج والعودة"؟ بعض أنواع الأوامر مجموعات التحديث ، ربما؟ - con-f-use
@ استخدام con-f ، إذا كنت تستطيع تشغيل sudo login -f YOURUSERNAME، سيبدأ جلسة shell جديدة. استخدم ال id الأمر للتحقق من أن الجلسة الجديدة موجودة في مجموعة المجموعات الصحيحة. ومع ذلك ، هذه ليست "عالمية" - فهي لا تنطبق على المطاريف المفتوحة بالفعل. لذا ، فإن تسجيل الخروج هو الخيار الأفضل ، حيثما أمكن - Aaron McDaid


إضافة مستخدم إلى مجموعة:

sudo adduser user group

إزالة مستخدم من مجموعة:

sudo deluser user group

192
2018-01-12 13:09



ليس بالضبط ما يطلبه هذا السؤال - Tejendra
@ يبدو أن تعليق Tejendra يفترض أن استخدام useradd مرغوب / ملزم للإجابة على سؤال OP ؛ ربما كانت هذه الإجابة مجرد كلمات مفقودة للإشارة إلى أن adduser / deluser هو بديل أفضل. - sage
بالنسبة لي واجهة أبسط هو الأفضل ، لهذا السبب أنا أحب هذا واحد. - Betlista
هذا هو بالضبط السؤال المطروح. knocte ، نعم ، أعتقد أنه محدد لديبيان - Auspex
Auspex أستطيع أن أؤكد أنه لا يعمل على ريد هات. - Stibu


بعد الإضافة إلى مستخدم حالي:

usermod -a -G group user  

قد تحتاج ل تسجيل الدخول وتسجيل الدخول للحصول على أذونات المجموعات من /etc/group.


47
2018-02-22 17:16



يرجى جعلها الجزء "بحاجة إلى تسجيل الدخول وتسجيل الدخول" جريئة. - Jin Kwon
لمعلوماتك: أعتقد أن id يجب أن يشير الأمر إلى أنه تمت إضافتك إلى المجموعة دون الحاجة إلى الخروج. id myuser - ficuscr
كان تسجيل الخروج والعودة مطلوبًا لي على Ubuntu 14.10. - A.Danischewski


أنا استخدم عادة

sudo gpasswd -a myuser mygroup

24
2017-11-15 18:47



لم يكن usermod متاحًا على نظامي ubuntu 14.04. هذا عمل عظيم! - Drew


على أوبونتو ، منذ ذلك الحين تسجيل الدخول باسم root غير ممكنالمستخدمين في sudo يمكن للمجموعة رفع الامتيازات لبعض الأوامر المقيدة. يجب إرفاق أي أمر مقيد مع sudo لرفع الامتياز.

sudo usermod -a -G مجموعة المستعمل

سيضيف المستخدم الحالي user إلى مجموعة تكميلية تسمى group. ستظل المجموعة الأساسية للمستخدم بدون تغيير.


4
2018-02-25 21:58





أنا نشر هذا كإجابة لأنه ليس لدي سمعة كافية للتعليق. كما ذكر dpendolino @ ، لتستمر آثار هذا الأمر:

sudo usermod -a -G groupName userName

... تحتاج إلى تسجيل الخروج / تسجيل الدخول مرة أخرى.

ومع ذلك ، إذا كنت بحاجة إلى اختصار لبدء استخدام عضوية مجموعتك الجديدة فورا (ولديك الصحيح سودو امتيازات) لقد وجدت هذا العمل حول:

$ 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

2
2018-03-25 17:49