Jaka jest różnica między adduser a useradd?

359

Jaka jest różnica między poleceniami adduser i useradd w systemie Ubuntu?

    
zadawane Joe Cabezas 15.09.2013, 22:32
źródło

6 odpowiedzi

312
  

useradd to natywny plik binarny skompilowany z systemem. Ale adduser to   skrypt perla, który używa binarnego useradd w back-endzie.

     

adduser jest bardziej przyjazny dla użytkownika i bardziej interaktywny niż jego back-end   %kod%. Nie ma różnicy w oferowanych funkcjach.

Źródło: Jaka jest różnica między "adduser" a "useradd"?

    
odpowiedział Radu Rădeanu 15.09.2013, 22:56
źródło
129

Zawsze używaj adduser (i deluser podczas usuwania użytkowników) podczas tworzenia nowych użytkowników z wiersza poleceń. (Jeśli piszesz skrypt, szczególnie, jeśli chcesz mieć możliwość przenoszenia, możesz zamiast tego użyć narzędzi niskiego poziomu - a adduser / deluser może nie być dostępny we wszystkich dystrybucjach, np. W SuSE.)

Polecenia useradd , userdel i usermod to narzędzia niskiego poziomu, które istnieją z przyczyn historycznych, a adduser/deluser Do Right Thing ™. (Pamiętam, do którego użyć, myśląc, że user* pochodzi po adduser/deluser w alfabecie, a zatem jest "gorszy".)

Zgodnie z odpowiednimi stronami podręcznika (na temat precyzyjnej łuski Ubuntu 12.04, tj. systemu pochodnego Debiana).

Strona podręcznika dla adduser mówi:

(Podkreślenie dodane.)

  

adduser i addgroup dodają użytkowników i grupy do systemu zgodnie z wierszem poleceń   opcje i informacje o konfiguracji w /etc/adduser.conf . Są bardziej przyjacielscy   z przodu do narzędzi niskiego poziomu, takich jak useradd , groupadd i usermod programów ,   domyślnie wybierając UID i wartości GID zgodne z polityką Debiana, tworząc dom   katalog z konfiguracją szkieletową, uruchamianie niestandardowego skryptu i innych funkcji.    adduser i addgroup można uruchomić w jednym z pięciu trybów:

Strona podręcznika dla useradd mówi:

  

useradd to narzędzie niskiego poziomu do dodawania użytkowników. W Debianie administratorzy powinni   zwykle używaj adduser(8) zamiast.

Zobacz też: Jaka jest różnica między "adduser" a "useradd"? (na SuperUser)

    
odpowiedział zrajm 24.11.2013, 18:42
źródło
14

adduser : dodaj użytkownika z pełnym profilem i informacjami (podanie, przydział, pozwolenie itp.)

useradd : dodaj użytkownika tylko z jego nazwą (jeśli chcesz dodać użytkownika tymczasowego z tylko nazwą, inne informacje nie są wymagane)

    
odpowiedział mandm 02.07.2014, 13:00
źródło
7

adduser jest bardziej przyjazny, ponieważ tworzy foldery domowe konta i inne ustawienia (np. automatycznie ładuje statystyki systemu i powiadomienia o logowaniu), natomiast useradd tworzy użytkownika.

    
odpowiedział Paul 15.09.2013, 23:05
źródło
7

Kolejne kilka różnic, które prowadzą do konkretnych scenariuszy, w których useradd może być lepszy.

  1. W niektórych nowszych dystrybucjach, w tym Ubuntu 14.4, adduser będzie pytał o informacje takie jak hasło i "gecos" (dane dla polecenia palca). Oznacza to, że może być mniej odpowiedni do wywoływania ze skryptu (kredyt: już wspomniany w komentarzu Wernighta).

    Monity można wyłączyć, przekazując puste argumenty:

    adduser --disabled-password --gecos "" USER
    
  2. useradd umożliwia przekazanie wielu dodatkowych grup, aby dodać użytkownika za pomocą opcji -G . adduser wydaje się wymagać wywołania polecenia raz dla każdej dodawanej grupy.

odpowiedział AdamS 29.09.2015, 23:38
źródło
3

Podstawowa różnica polega na tym, że "adduser" utworzy katalog domowy & amp; dodaj pliki szkieletów do katalogu, w którym "useradd" nie tworzy żadnego katalogu domowego & amp; pliki szkieletów!

adduser try:

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#
    
odpowiedział Ashish Karpe 26.10.2015, 15:10
źródło

Przeczytaj inne pytania na temat tagów