Adduser ve useradd arasındaki fark nedir?


Yanıtlar:


387

useraddsistemle derlenmiş yerel bir ikilidir. Ancak, arka uçta ikili adduserkullanan bir perl betiğidir useradd.

adduserarka ucundan daha kullanıcı dostu ve etkileşimlidir useradd. Sağlanan özelliklerde hiçbir fark yoktur.

Kaynak: “adduser” ve “useradd” arasındaki fark nedir?


59
useradd komutu alışkanlık oluşturmak '/ home / username' dizini eklemek ama adduser komutu olacak
derinleştirin

65
useradd -mseçeneği ile ana dizini oluşturur.
richsinn 08

10
Kıyamet bu kadar ilginç değil, anlambilimdir. Gibi adduser(8)daha kullanıcı dostu ve beklediğiniz şekilde varsayılan olarak bir kullanıcı oluşturur ve ayarlar. Ve useradd(8)sadece ne istersen onu yap, böylece bir ev dizini yaratılmasını istiyorsan, onu senin için yaratmasını söylemelisin.
Anders,

23
Her seferinde bunu google yapmak zorundayım ... Hangisinin hangisi olduğunu hatırlamama nasıl yardımcı olabilirim?
Quentin Skousen,

11
Bana @kkhugs "adduser" en sezgisel hissediyor çünkü bu ingilizce gibi geliyor, diğeri anlamsız geliyor. Onu ikisinin "en sezgisel" sıfatı olarak hatırlarsanız, onu tercih edilen / daha kolay olanı olarak hatırlamaya çalışabilirsiniz.
pzkpfw

146

adduserdeluserKomut satırından yeni kullanıcılar oluştururken her zaman (ve kullanıcıları silerken) kullanın. (Bir komut dosyası yazıyorsanız, özellikle taşınabilirlik hedefliyorsanız, bunun yerine düşük düzeyli programları kullanmak isteyebilirsiniz - ve adduser/ ve delusertüm dağıtımlarda, örneğin SuSE'de bulunmayabilirsiniz.)

useradd, userdelVe usermodkomutlar iken tarihi nedenlerden ötürü orada lowlevel yardımcı programları olan adduser/deluserDo Sağ Thing ™. ( Alfabede user*gelen adduser/deluserve dolayısıyla "daha kötü" olduğunu düşünerek hangisinin kullanılacağını hatırlıyorum .)

İlgili man sayfalarına göre (Ubuntu 12.04'de Hassas Pangolin, yani bir Debian türev sistemi).

Manpage adduserdiyor ki:

(Vurgu eklendi.)

adduserve addgroupiçindeki komut satırı seçeneklerine ve yapılandırma bilgilerine göre sisteme kullanıcılar ve gruplar ekleyin /etc/adduser.conf. Onlar dostça ön düşük seviyeli gibi araçlara biter vardır useradd, groupaddve usermodprogramların , iskelet yapılandırmaya sahip bir giriş dizini oluşturma özel bir komut dosyası çalıştıran ve diğer özellikler, Debian politikası conformant UID ve GID değerlerini seçerek varsayılan olarak. adduserve addgroupbeş moddan birinde çalıştırılabilir:

Manpage useradddiyor ki:

useraddkullanıcı eklemek için düşük seviye bir yardımcı programdır. Debian'da yöneticiler genellikle adduser(8)bunun yerine kullanılmalıdır.

Ayrıca bakınız: “adduser” ve “useradd” arasındaki fark nedir? (SuperUser'da)


6
Hangisini hatırlayamıyorum, bu yüzden kimseye yardım ederse bu benim aptal hatırlamam :) :) "kullanıcı" "kaybeden" ile kafiyeli ve "kaybeden" son gelir. Böylece: adduser, deluser.
Mads Skjern

26
Aslında " Her zaman kullanıcı " konusunda hemfikir değilim : Tercih edilen otomatik komut dosyaları için, her zaman orada olduğu, etkileşimli ve rahatsız edici olmadığı için . adduseruseradd
Wernight

2
adduserOpenSUSE’de denedim ve orada yok. (13.2)
cst1992

1
@ cst1992 Haklısın, bunu yansıtmak için cevabı değiştirdim. Yeterince merak ediyorum locate adduser, işte bir SuSE 11 sistemini denediğimde , bir addusermanpage olduğunu, ancak ikilik olmadığını (ve ne delusermanpage ne de bir komut) bulunduğunu gördüm .
zrajm

2
Kırmızı Şapkalı/usr/sbin/adduser -> useradd
Levon

17

adduser: tam profilli ve bilgili kullanıcı ekle (pas, kota, izin vb.)

useradd: sadece adını taşıyan bir kullanıcı ekle (yalnızca bir ismi olan geçici bir kullanıcı eklemek istersen, başka bir bilgiye gerek yok)


1
+1 ve Hoş Geldiniz! Ben, önceki aşağı oylarını açıklayamayan kişiye oy verdim. Aynen böyle devam! İyi programcılar her zaman zirveye çıkarlar - (ve açıklama yapmadan oy kullanmayın). :)
Ricalsin

11

Başka bir çift fark, bu, genel kullanımın tercih edilebileceği özel senaryolara yol açar.

  1. Ubuntu 14.4 de dahil olmak üzere bazı yeni dağıtımlarda, adduser, parola ve "gecos" (parmak komutunun verileri) gibi bilgiler isteyecektir. Bu, bir senaryodan çağırmak için daha az uygun olabileceği anlamına gelir (kredi: Wernight'ın bir yorumunda zaten bahsedilmiştir).

    Bilgi istemleri boş argümanlar iletilerek bastırılabilir:

    adduser --disabled-password --gecos "" USER
    
  2. useraddBir -Gseçenek eklemek için kullanıcı eklemek için birden fazla ek grup geçirmenize olanak sağlar . adduserHer grubun eklemesi için komutu bir kez çağırmanızı gerektiriyor gibi görünüyor.


Ubuntu 16.04 üzerinde çalışmıyor.
answerSeeker

8

adduserhesabın ana klasörlerini ve diğer ayarlarını (örn. oturum açma sırasında sistem istatistiklerini ve bildirimleri otomatik olarak yükleme) ayarlar, ancak useraddyalnızca kullanıcıyı oluşturur.


2
Yanlış. useradd, -m ile ev dizini oluşturabilir, -p ile parola ayarlayabilir, -k ile iskelet dosyaları oluşturabilir ve kullanıcılara -G ile grup (lar) ekleyebilir.
ychaouche

5

Temel fark "adduser", ev dizini yaratacak ve “useradd” herhangi bir ev dizini ve iskelet dosyası oluşturmayacak dizine iskelet dosyaları ekleyecektir!

adduser deneyin:

Adding user `try' ...
Adding new group `try' (1001) ...
Adding new user `try' (1001) with group `try' ...
Creating home directory `/home/try' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for try
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] y

useradd try1:

# ll /home/
total 20
drwxr-xr-x  5 root    root    4096 Oct 26 15:52 ./
drwxr-xr-x 22 root    root    4096 Oct 26 15:47 ../
drwx------  8 ashishk ashishk 4096 Oct 26 15:50 ashishk/
drwxr-xr-x  3 root    root    4096 Oct 14 13:02 .ecryptfs/
drwxr-xr-x  2 try     try     4096 Oct 26 15:52 try/
root@chef-workstation:/home/ashishk#


0

Ayrıca adduser, her zaman -Mseçeneğe sahip olmadığını --systemve özellikle şunu söyleyen bayrağa saygı göstermediğine de dikkat çekeceğim :

Useradd'nin, /etc/login.defs (CREATE_HOME) içindeki varsayılan ayardan bağımsız olarak, böyle bir kullanıcı için bir giriş dizini yaratmayacağını unutmayın. Bir sistem hesabı için bir giriş dizini oluşturmak istiyorsanız, -m seçeneklerini belirtmeniz gerekir.

Giriş dizini olmadan bir sistem kullanıcısı oluşturmaya çalışıyorsanız, kullanın useradd --system -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.