Mevcut kullanıcı mevcut bir gruba nasıl eklenir?


669

Apache kullanıcısını ( www-data) audiogruba eklemek istiyorum . İçin man sayfasını okudum useraddama hiç şansım yok. Xubuntu 11.10 kullanıyorum. İşte ne yapıyorum:

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

Bu -Gseçeneği devre dışı bırakırsam , bash, yardım bilgilerini yazdırır useradd:

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

Bu sayfadan bana bu seçeneği yapmak için hangi seçenekleri kullanmam gerektiği açık değil.

Yanıtlar:


1040

useraddKomut yeni bir kullanıcı eklemek için çalışacağız. Kullanıcı zaten var olduğundan, istediğin bu değil.

Bunun yerine: Mevcut bir kullanıcıyı değiştirmek için, o kullanıcıyı yeni bir gruba eklemek gibi, usermodkomutu kullanın.

Bunu dene:

sudo usermod -a -G groupName userName

Yeni grup eklendiğini görmek için kullanıcının oturumu kapatması ve tekrar oturum açması gerekir .

  • -a(Ekleyin) anahtarı esastır. Aksi takdirde, kullanıcı listede olmayan gruplardan kaldırılır.

  • -GAnahtar için kullanıcı atamak için ek bir grup (virgülle ayrılmış) bir listesini alır.


71
sudo usermod -a -G [group-name] [user-name]: Başlığı okuduktan sonra sadece cevaba bakanlar için şahane bir şey
Programster

36
Sanırım şimdi tercih edilen yol şudur sudo adduser user group. Daha basit ve daha temiz sözdizimi. @Bai tarafından verilen cevaba bakınız.
ctbrown

3
@wilhil:: man usermod" -a, --append - Kullanıcıyı ek gruplara ekler. Yalnızca -G seçeneğiyle kullanın .; -G, --groups GROUP1 [, GROUP2, ... [, GROUPN] ]] [...] Kullanıcı şu anda listelenmemiş bir grubun üyesiyse, kullanıcı gruptan kaldırılır.Bu davranış, kullanıcıyı geçerli tamamlayıcıya ekleyen -a seçeneği ile değiştirilebilir grup listesi. "
Adam Michalik

18
"Oturumu kapatıp geri dön" bölümünde dolaşmanın bir yolu var mı? Belki bir tür güncelleme grubu komutu olabilir mi?
con-f-

14
@ con-f-use, eğer çalıştırabilirseniz sudo login -f YOURUSERNAME, yeni bir kabuk oturumu başlatacak. idYeni oturumun doğru grup grubunda olduğunu doğrulamak için komutu kullanın . Ancak, bu "global" değildir - zaten açık olan terminallere uygulanmaz. Yani, gerçekten, çıkış yapmak en iyi seçenek, mümkün olduğunda
Aaron McDaid

222

Bir gruba kullanıcı ekleme:

sudo adduser user group

Bir kullanıcıyı gruptan kaldırma:

sudo deluser user group

3
tam olarak ne bu soru sorulmadı
Tejendra

11
@ Tejendra'nın yorumu, useradd kullanmanın OP'nin sorusunu cevaplamak için arzu edildiğini / zorunlu olduğunu varsayıyor; Belki de bu cevap sadece adduser / deluser'ın daha iyi bir alternatif olduğunu belirten kelimelerden yoksundur.
adaçayı

12
Benim için daha basit bir arayüz daha iyidir, bu yüzden bundan hoşlanıyorum.
Betlista

4
Bu tam olarak sorulan soru. evet, @knocte, ben Debian özgü olduğunu düşünüyorum
Auspex

3
@Auspex Red Hat üzerinde çalışmadığını onaylayabilirim.
Stibu

54

Mevcut bir kullanıcıya ekledikten sonra:

usermod -a -G group user  

Grupların izinlerini almak için oturumu kapatmanız ve giriş yapmanız gerekebilir /etc/group.


21
Lütfen "çıkış yapıp giriş yapmalısınız" kısmını kalın yapın.
Jin Kwon

Bilginize: idKomutun çıkışa gerek duymadan gruba eklendiğinizi belirtmesi gerektiğini düşünüyorum . id myuser
ficuscr

5
Ubuntu 14.10'da çıkış yapmak ve tekrar giriş yapmak gerekiyordu.
A.Danischewski

26

Normalde kullanırım

sudo gpasswd -a myuser mygroup

3
usermod benim sistemimde mevcut değildi ubuntu 14.04. Bu harika çalıştı!
Drew

Bu, usermodyüklenmemiş olan Debian Stretch için de çok işe yaradı .
Josh Habdas

8

Bunu bir cevap olarak gönderiyorum çünkü yorum yapacak kadar itibarım yok. @ Dpendolino'nun belirttiği gibi, bu komutun etkilerinin sürmesi için:

sudo usermod -a -G groupName userName

... tekrar çıkış yapmanız / giriş yapmanız gerekiyor.

Ancak, yeni grup üyeliğinizi hemen kullanmaya başlamak için bir kısayola ihtiyacınız varsa (ve doğru sudo ayrıcalıklarına sahipseniz) Bu çalışmayı buldum:

$ sudo su -
# su [userName]
$ groups

Açıklama:

  • sudo su - sana bir kök kabuğu verecek
  • su [userName] sizi kullanıcınızla birlikte bir kabuğa döndürür
  • groupsŞimdi çalıştırdığınızda usermod -aGkomut ile eklediğiniz grubu gösterecektir.

Benim durumumda 'docker' grubunu kullanıcıma eklemeye çalışıyordum

Önce:

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

Sonra:

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

5

Ubuntu'da, oturum açma rootetkin olmadığından , sudogruptaki kullanıcılar belirli kısıtlı komutlar için ayrıcalıkları yükseltebilir. Herhangi bir kısıtlı komut sudoayrıcalık yükseltmek için önceden hazırlanmalıdır .

sudo usermod -a -G group user

varolan kullanıcıyı user, adında bir ek gruba ekleyecektir group. Kullanıcının birincil grubu değişmeden kalacaktır.


1
sudo usermod -a -G groupName userName

sadece işe yarayacak, ama tamamen yeniden başlatmak zorunda kaldım , sadece oturumu kapatıp tekrar giriş yaptım ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.