Zastanawiam się: dlaczego w systemie Debian Linux dostępne są te dwa polecenia o bardzo podobnych nazwach i funkcjonalności? To zawsze było dla mnie mylące.
- Czy któryś z nich jest lepszy od drugiego?
- Dlaczego nie są połączone w jedno?
- Czy jest między nimi jakaś znacząca różnica?
- Którego powinienem użyć? Czy to zależy od przypadku użycia?
linux
debian
user-management
Petr Pudlák
źródło
źródło
useradd
jest dostępna na wszystkich platformach typu Unix;adduser
dotyczy tylko Debiana i jego pochodnych.Odpowiedzi:
useradd
jest natywnym plikiem binarnym skompilowanym z systemem. Aleadduser
jest skryptem perla, który używauseradd
binarnego zaplecza.adduser
jest bardziej przyjazny dla użytkownika i interaktywny niż jego zapleczeuseradd
. Nie ma różnicy w udostępnianych funkcjach.źródło
Główną zaletą adduser nad userdd jest obsługa użytkowników na poziomie systemu. Dzięki adduser konto użytkowników na poziomie systemu po utworzeniu umieszcza katalog użytkownika w domu dla użytkownika systemu, w którym useradd nie robi tego automatycznie. Jeśli czytasz mężczyznę, są one zasadniczo takie same, z wyjątkiem użytkowników na poziomie systemu, a powiązane katalogi domowe są automatyczne. adduser automatycznie tworzy katalog / home / user dla użytkowników na poziomie systemu, dla których nie ma przepisu w useradd , z wyjątkiem sytuacji, gdy jest to określone przez opcję -m . Inne odczyty, na które natknąłem się ogólnie wskazują, że UID i GUID są przypisywane przez zaakceptowane zgodne standardy Debiana w adduser.
źródło
W kilku sprawdzonych przeze mnie przypadkach Redhat (4,9 z 2011 r. I 6,9 z 2017 r.) Adduser jest po prostu aliasem dla useradd, a nie skryptem Perla. Oto w Redhat 6.9:
Pamiętam, że useradd jest „poprawnym” programem: dodanie użytkownika to tylko jedna operacja w spektrum CRUD. Potrzebne są również operacje „modyfikuj” i „usuwaj” (prawdopodobnie „odczyt” jest objęty przeglądaniem / etc / passwd). Tak więc programy noszą nazwę użytkownik * (odpowiednio useradd, usermod i userdel). Podejrzewam, że alternatywna * konwencja nazewnictwa użytkowników (adduser, modser i deluser - te nie istnieją) mogłaby również działać. Ale byłoby to trochę bardziej niezręczne (z tego powodu nie mogę teraz wyrazić jasno :)
źródło
moduser
na Debianie, ale nadeluser
pewno tam jest.W ramach raspian (musiałbym sprawdzić inne systemy operacyjne) „adduser USER” uruchamia okno dialogowe (TUI), podczas gdy „useradd USER” NIE.
Najwyraźniej przy użyciu addusera, gdy pojawi się okno dialogowe, pełne polecenie „useradd” jest już wykonane. Nawet jeśli masz CTRL-C, twój użytkownik tam jest.
Podobnie jak w nowych systemach, tworzą one „osobiste” grupy, aby usunąć nowo utworzonego użytkownika, musisz:
Zakładam, że ponieważ adduser „używa” useradd, reszta to metadane dotyczące użytkownika. Więc technicznie nie ma zmian w „skel”, „maskach plików” itp., Tzn. Domyślnych ustawieniach systemu.
Z drugiej strony, ponieważ useradd nie wywołuje żadnego TUI, może być bardziej przydatny w skryptach.
Szczerze mówiąc, przetestowałem to tylko w rasbasie, ponieważ to był powód, dla którego postawiłem pytanie.
Mogę sobie wyobrazić, że inne systemy operacyjne mogą implementować inną wersję adduser.
źródło