Dlaczego katalog domowy nie jest tworzony, gdy tworzę nowego użytkownika?


15

Utworzyłem nowego użytkownika (testuser) za pomocą useraddpolecenia na maszynie wirtualnej serwera Ubuntu. Chciałbym utworzyć katalog domowy dla użytkownika, a także dać mu uprawnienia roota.

Jednak gdy loguję się jako nowy użytkownik, skarży się, że nie ma katalogu domowego. Co ja robię źle?


Odpowiedziałem na główne pytanie dotyczące stworzenia domowego reż. Przyznanie nowego użytkownika uprawnień roota jest niezwiązanym problemem i należy o nie pytać osobno. Zasadniczo wystarczy dodać użytkownika do sudogrupy.
terdon

Odpowiedzi:


22

Wreszcie skończyłem

Oto odpowiedź

   useradd -m -d /home/testuser/ -s /bin/bash -G sudo testuser

1
co robi flaga -d lub flaga -G
Alexander Mills

sprawdzasz za pomocą polecenia man. po prostu uruchom „man useradd”.
Początkujący

1
-mtworzy katalog domowy, jeśli nie istnieje. -dzastępuje domyślną lokalizację katalogu domowego. -sustawia powłokę logowania dla użytkownika. -Goczekuje rozdzielonej przecinkami listy grup, do których użytkownik powinien należeć.
Alastair Harrison

@ Początkujący you check using man command.To zerowa pomocna odpowiedź, którą mógłbyś właśnie wyjaśnić PO zapamiętaniu ludzi o tej manfunkcji.
MS Berends,

@AlastairHarrison Chwała Tobie.
MS Berends,

21

useraddProgramu została zastąpiona adduser. Od man useradd:

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

adduserjest bardziej przyjaznym interfejsem useraddużytkownika i domyślnie umożliwia tworzenie katalogów użytkowników. Po uruchomieniu z argumentem tylko nazwą użytkownika zostaniesz poproszony o podanie dodatkowych informacji, takich jak hasło:

$ sudo adduser testuser
Adding user `testuser' ...
Adding new group `testuser' (1002) ...
Adding new user `testuser' (1002) with group `testuser' ...
Creating home directory `/home/testuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for testuser
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] 

Zasadniczo należy zawsze używać adduserzamiast, useraddponieważ spowoduje to również automatyczne skonfigurowanie wymaganych grup. Jak wyjaśniono w man adduser:

   adduser  and  addgroup  add users and groups to the system according to
   command    line    options    and    configuration    information    in
   /etc/adduser.conf.   They  are  friendlier  front ends to the low level
   tools like useradd, groupadd and usermod programs, by default  choosing
   Debian  policy conformant UID and GID values, creating a home directory
   with skeletal configuration, running a custom script,  and  other  fea‐
   tures. 

1
nie chcę używać polecenia adduser.
Początkujący

4
@rajcoumar umm, dlaczego? To odpowiednie narzędzie do pracy. Jeśli nalegasz na użycie niewłaściwego narzędzia, będziesz musiał ręcznie utworzyć katalog domowy i grupy użytkowników, a także skopiować pliki domyślne z /etc/skelitp. Itd. Dlatego właśnie należy użyć oficjalnej wersji Debian Way® adduser.
terdon

1
#terdon jest poprawny .. ale piszę skrypt powłoki tylko za pomocą komendy useradd
Początkujący

@rajcoumar OK, musisz albo stworzyć wszystko ręcznie, albo po prostu zmienić skrypt, aby użyć regulatora. Wystarczy utworzyć plik /etc/adduser.conf.
terdon

1
wystarczy spojrzeć na moją odpowiedź, nie wiem, czy jest poprawna, ale działa dla mnie
Początkujący

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.