i jest i pozostaje dobrym, ważnym pytaniem. Nie chodzi o to, że ludzie zadają to pytanie w odpowiednich kontekstach, lecz o to, że należy w ogóle zadać to pytanie.
foo
Odpowiedzi:
386
useraddjest natywnym plikiem binarnym skompilowanym z systemem. Ale adduserjest skryptem perla, który używa useraddbinarnego zaplecza.
adduserjest bardziej przyjazny dla użytkownika i interaktywny niż jego zaplecze
useradd. Nie ma różnicy w udostępnianych funkcjach.
polecenie add useradd nie utworzy katalogu „/ home / username”, ale polecenie adduser będzie
Deepen
65
useradd z -mopcją utworzy katalog domowy.
richsinn
10
Wszczepienie nie jest tak interesujące, semantyka jest. Like adduser(8)jest bardziej przyjazny dla użytkownika i domyślnie tworzy i konfiguruje użytkownika w oczekiwany sposób. I useradd(8)rób tylko to, o co prosisz, więc jeśli chcesz stworzyć katalog domowy, musisz mu powiedzieć, żeby go utworzył.
Anders
23
Muszę to wyszukiwać za każdym razem ... Jak mogę sobie pomóc w zapamiętaniu, który jest który?
Quentin Skousen
11
@kkhugs dla mnie „adduser” wydaje się najbardziej intuicyjny, ponieważ jest to polecenie, które brzmi jak angielski, podczas gdy drugi nie, semantycznie. Jeśli pamiętasz to jako „najbardziej intuicyjne” z tych dwóch, możesz także spróbować zapamiętać to jako preferowane / łatwiejsze.
pzkpfw
146
Zawsze używajadduser (i deluserpodczas usuwania użytkowników), gdy tworzysz nowych użytkowników z wiersza poleceń. (Jeśli piszesz skrypt, zwłaszcza jeśli zależy Ci na przenośności, możesz zamiast tego użyć narzędzi niskiego poziomu - i adduser/ delusermoże nie być dostępny we wszystkich dystrybucjach, np. Na SuSE.)
Te useradd, userdeli usermodpolecenia są narzędzia lowlevel które są tam ze względów historycznych, a adduser/deluserpostąpić właściwie ™. (Pamiętam, którego użyć, myśląc, że user*pojawia się adduser/deluserw alfabecie, a zatem jest „gorszy”).
Według odpowiednich stron podręcznika (na Ubuntu 12.04 Precise Pangolin, tj. Systemie pochodnym Debiana).
Strona podręcznika dla addusermówi:
(Podkreślenie dodane.)
adduseri addgroupdodaj użytkowników i grupy do systemu zgodnie z opcjami wiersza poleceń i informacjami o konfiguracji w /etc/adduser.conf. Są przyjaznym dla użytkownika interfejsem do narzędzi takich jak niski poziom useradd, groupaddi usermodprogramów , domyślnie wybiera Debian Policy respektować wartości UID i GID, tworząc katalog domowy z konfiguracją szkieletowych, uruchomienie skryptu niestandardowego i innych funkcji.
adduseri addgroupmoże być uruchomiony w jednym z pięciu trybów:
Strona podręcznika dla useraddmówi:
useraddto narzędzie niskiego poziomu do dodawania użytkowników. W Debianie administratorzy powinni zwykle używać adduser(8)zamiast tego.
Nigdy nie pamiętam, który to jest, więc to mój głupi mnemonik, jeśli komukolwiek to pomaga :) „użytkownik” rymuje się z „przegrany”, a „przegrany” jest ostatni. Zatem: adduser, deluser.
Mads Skjern
26
Właściwie nie zgadzam się na „ Zawsze użytkownikadduser ”: W przypadku skryptów automatycznych wolałbym, useraddponieważ zawsze tam jest, nieinteraktywny i nie specyficzny dla dystrybucji .
Wernight
2
Próbowałem adduserna openSUSE, ale go tam nie ma (13.2)
cst1992
1
@ cst1992 Masz rację, zredagowałem odpowiedź, aby to odzwierciedlić. Co ciekawe, kiedy wypróbowałem locate addusersystem SuSE 11 w pracy, okazało się, że nie ma adduserstrony podręcznej, ale nie ma pliku binarnego (ani strony deluserpodręcznej, ani polecenia).
zrajm
2
On Red Hat/usr/sbin/adduser -> useradd
Levon
17
adduser: dodaj użytkownika z pełnym profilem i informacjami (przepustka, limit, zezwolenie itp.)
useradd: dodaj użytkownika tylko z jego nazwiskiem (jeśli chcesz dodać użytkownika tymczasowego z tylko nazwą, inne informacje nie są wymagane)
+1 i witaj! Głosowałem za osobą, która nie była w stanie wyjaśnić swojego poprzedniego głosowania za odrzuceniem. Tak trzymaj! Dobrzy programiści zawsze awansują na szczyt - (i nie obniżają głosu bez wyjaśnienia). :)
Ricalsin
11
Kolejna kilka różnic, które prowadzą do konkretnych scenariuszy, w których dodanie użytkownika może być lepsze.
W niektórych nowszych dystrybucjach, w tym Ubuntu 14.4, adduser poprosi o informacje, takie jak hasło i „gecos” (dane dla polecenia palcem). Oznacza to, że może być mniej odpowiedni do wywoływania ze skryptu (kredyt: wspomniano już w komentarzu Wernight).
Podpowiedzi można ukryć, przekazując argumenty zerowe:
adduser --disabled-password --gecos "" USER
useraddpozwala przekazać wiele dodatkowych grup, do których można dodać użytkownika za pomocą -Gopcji. adduserwydaje się wymagać, aby wywołać polecenie raz dla każdej grupy, aby dodać.
adduserjest bardziej przyjazny, ponieważ konfiguruje katalogi domowe konta i inne ustawienia (np. automatyczne ładowanie statystyk systemowych i powiadomień przy logowaniu), podczas gdy useraddpo prostu tworzy użytkownika.
Źle. useradd może utworzyć katalog domowy za pomocą opcji -m, ustawić hasło za pomocą opcji -p, utworzyć pliki szkieletów za pomocą opcji -k i dodać użytkownika do grupy za pomocą opcji -G.
ychaouche
5
Podstawowa różnica polega na tym, że „adduser” utworzy katalog domowy i doda pliki szkieletowe do tego katalogu, w którym „useradd” nie utworzy żadnego katalogu domowego i plików szkieletowych!
adduser spróbuj:
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#
Zaznaczę również, że addusernie zawsze ma taką -Mopcję, a także nie przestrzega --systemflagi, która wyraźnie mówi :
Zauważ, że useradd nie utworzy katalogu domowego dla takiego użytkownika, niezależnie od domyślnego ustawienia w /etc/login.defs (CREATE_HOME). Musisz określić opcje -m, jeśli chcesz utworzyć katalog domowy konta systemowego.
Jeśli próbujesz utworzyć użytkownika systemu bez katalogu domowego, użyj useradd --system -M.
Odpowiedzi:
Źródło: Jaka jest różnica między „adduser” a „useradd”?
źródło
-m
opcją utworzy katalog domowy.adduser(8)
jest bardziej przyjazny dla użytkownika i domyślnie tworzy i konfiguruje użytkownika w oczekiwany sposób. Iuseradd(8)
rób tylko to, o co prosisz, więc jeśli chcesz stworzyć katalog domowy, musisz mu powiedzieć, żeby go utworzył.Zawsze używaj
adduser
(ideluser
podczas usuwania użytkowników), gdy tworzysz nowych użytkowników z wiersza poleceń. (Jeśli piszesz skrypt, zwłaszcza jeśli zależy Ci na przenośności, możesz zamiast tego użyć narzędzi niskiego poziomu - iadduser
/deluser
może nie być dostępny we wszystkich dystrybucjach, np. Na SuSE.)Te
useradd
,userdel
iusermod
polecenia są narzędzia lowlevel które są tam ze względów historycznych, aadduser/deluser
postąpić właściwie ™. (Pamiętam, którego użyć, myśląc, żeuser*
pojawia sięadduser/deluser
w alfabecie, a zatem jest „gorszy”).Według odpowiednich stron podręcznika (na Ubuntu 12.04 Precise Pangolin, tj. Systemie pochodnym Debiana).
Strona podręcznika dla
adduser
mówi:(Podkreślenie dodane.)
Strona podręcznika dla
useradd
mówi:Zobacz także: Jaka jest różnica między „adduser” a „useradd”? (na SuperUser)
źródło
adduser
”: W przypadku skryptów automatycznych wolałbym,useradd
ponieważ zawsze tam jest, nieinteraktywny i nie specyficzny dla dystrybucji .adduser
na openSUSE, ale go tam nie ma (13.2)locate adduser
system SuSE 11 w pracy, okazało się, że nie maadduser
strony podręcznej, ale nie ma pliku binarnego (ani stronydeluser
podręcznej, ani polecenia)./usr/sbin/adduser -> useradd
adduser
: dodaj użytkownika z pełnym profilem i informacjami (przepustka, limit, zezwolenie itp.)useradd
: dodaj użytkownika tylko z jego nazwiskiem (jeśli chcesz dodać użytkownika tymczasowego z tylko nazwą, inne informacje nie są wymagane)źródło
Kolejna kilka różnic, które prowadzą do konkretnych scenariuszy, w których dodanie użytkownika może być lepsze.
W niektórych nowszych dystrybucjach, w tym Ubuntu 14.4, adduser poprosi o informacje, takie jak hasło i „gecos” (dane dla polecenia palcem). Oznacza to, że może być mniej odpowiedni do wywoływania ze skryptu (kredyt: wspomniano już w komentarzu Wernight).
Podpowiedzi można ukryć, przekazując argumenty zerowe:
useradd
pozwala przekazać wiele dodatkowych grup, do których można dodać użytkownika za pomocą-G
opcji.adduser
wydaje się wymagać, aby wywołać polecenie raz dla każdej grupy, aby dodać.źródło
adduser
jest bardziej przyjazny, ponieważ konfiguruje katalogi domowe konta i inne ustawienia (np. automatyczne ładowanie statystyk systemowych i powiadomień przy logowaniu), podczas gdyuseradd
po prostu tworzy użytkownika.źródło
Podstawowa różnica polega na tym, że „adduser” utworzy katalog domowy i doda pliki szkieletowe do tego katalogu, w którym „useradd” nie utworzy żadnego katalogu domowego i plików szkieletowych!
adduser spróbuj:
useradd try1:
źródło
Zaznaczę również, że
adduser
nie zawsze ma taką-M
opcję, a także nie przestrzega--system
flagi, która wyraźnie mówi :Jeśli próbujesz utworzyć użytkownika systemu bez katalogu domowego, użyj
useradd --system -M
.źródło