Jaka jest różnica między poleceniami addusera useraddUbuntu?
Jaka jest różnica między poleceniami addusera useraddUbuntu?
Odpowiedzi:
useraddjest natywnym plikiem binarnym skompilowanym z systemem. Aleadduserjest skryptem perla, który używauseraddbinarnego zaplecza.
adduserjest bardziej przyjazny dla użytkownika i interaktywny niż jego zapleczeuseradd. Nie ma różnicy w udostępnianych funkcjach.
-mopcją utworzy katalog domowy.
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ł.
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).
addusermówi:(Podkreślenie dodane.)
adduseriaddgroupdodaj 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 poziomuseradd,groupaddiusermodprogramó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.adduseriaddgroupmoże być uruchomiony w jednym z pięciu trybów:
useraddmówi:
useraddto narzędzie niskiego poziomu do dodawania użytkowników. W Debianie administratorzy powinni zwykle używaćadduser(8)zamiast tego.
Zobacz także: Jaka jest różnica między „adduser” a „useradd”? (na SuperUser)
adduser ”: W przypadku skryptów automatycznych wolałbym, useraddponieważ zawsze tam jest, nieinteraktywny i nie specyficzny dla dystrybucji .
adduserna openSUSE, ale go tam nie ma (13.2)
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).
/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)
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.
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!
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
# 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.