Warum wird das Basisverzeichnis beim Erstellen eines neuen Benutzers nicht erstellt?

15

Ich habe mit dem useraddBefehl auf einer virtuellen Ubuntu-Server-Maschine einen neuen Benutzer (Testbenutzer) erstellt . Ich möchte ein Home-Verzeichnis für den Benutzer erstellen und ihm auch Root-Berechtigungen geben.

Wenn ich mich jedoch als neuer Benutzer anmelde, wird beanstandet, dass es kein Basisverzeichnis gibt. Was mache ich falsch?

Anfänger
quelle
Ich habe die Hauptfrage zum Erstellen eines Heimatverzeichnisses beantwortet. Das Gewähren eines neuen Benutzer-Root-Zugriffs ist ein nicht damit zusammenhängendes Problem und sollte separat erfragt werden. Grundsätzlich müssen Sie nur den Benutzer zur sudoGruppe hinzufügen .
Terdon

Antworten:

22

Endlich habe ich mich erledigt

Das ist die Antwort

   useradd -m -d /home/testuser/ -s /bin/bash -G sudo testuser
Anfänger
quelle
1
Was macht die -d Flagge oder die -G Flagge
Alexander Mills
Sie überprüfen mit man Befehl. führe einfach "man useradd" aus.
Anfänger
1
-merstellt das Ausgangsverzeichnis, wenn es nicht vorhanden ist. -düberschreibt den Standardspeicherort des Basisverzeichnisses. -sLegt die Login-Shell für den Benutzer fest. -Gerwartet eine durch Kommas getrennte Liste von Gruppen, zu denen der Benutzer gehören soll.
Alastair Harrison
@ Anfänger you check using man command.Das ist eine hilfreiche Antwort von null. Sie hätten es erklären können, nachdem Sie sich an Leute erinnert haben, die von der manFunktion berichtet haben.
MS Berends
@AlastairHarrison Ein Lob an Sie.
MS Berends
21

Das useraddProgramm wurde zugunsten von veraltet adduser. Von man useradd:

useradd ist ein Hilfsprogramm für das Hinzufügen von Benutzern. Unter Debian sollten
Administratoren stattdessen normalerweise adduser (8) verwenden
.

adduserist ein freundlicheres Frontend für useraddund wird standardmäßig Benutzerverzeichnisse erstellen. Wenn Sie es nur mit einem Benutzernamen als Argument ausführen, werden Sie aufgefordert, zusätzliche Informationen wie das Kennwort anzugeben:

$ 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] 

In der Regel sollten Sie immer adduserstatt verwenden, useraddda hierdurch auch die erforderlichen Gruppen automatisch eingerichtet werden. Wie erklärt in 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. 
terdon
quelle
1
Ich möchte nicht den Befehl adduser verwenden.
Anfänger
4
@ Rajcoumar umm, warum? Das ist das richtige Werkzeug für den Job. Wenn Sie darauf bestehen, das falsche Tool zu verwenden, müssen Sie das /etc/skelAusgangsverzeichnis und die Benutzergruppen manuell erstellen und die Standarddateien von usw. usw. kopieren . Deshalb soll der Official Debian Way® verwendet werden adduser.
Terdon
1
#terdon ya correct .. aber ich schreibe ein Shell-Skript nur mit useradd Befehl
Anfänger
@rajcoumar OK, dann müssen Sie entweder alles manuell erstellen oder einfach das Skript ändern, um stattdessen Adjuster zu verwenden. Erstellen Sie einfach eine /etc/adduser.conf-Datei.
Terdon
1
Sieh dir nur meine Antwort an, ich weiß nicht, ob sie richtig ist, aber sie funktioniert für mich
Anfänger
5
useradd -m LOGIN

erstellt das Home-Verzeichnis des Benutzers

Nizam Mohamed
quelle