Ich versuche, einen neuen Benutzer in Ubuntu 14.04 LTS über die Bash-Befehlszeile zu erstellen. Ich benutze die folgenden Befehle:
sudo useradd -c "Samwise the Brave" sam
sudo passwd sam
Enter new UNIX password: hello-1234
Retype new UNIX password: hello-1234
passwd: password updated successfully
Nach dem Erstellen dieses neuen Benutzers sind drei Probleme aufgetreten:
Ich kann mich mit dem Benutzer sam nicht bei Ubuntu anmelden. Immer wenn ich mich anmelde, werde ich zurück zum Anmeldebildschirm geschickt.
Wenn ich in die
/etc/passwd
Datei schaue , sehe ich, dass für Benutzer sam keine Standard-Shells definiert sind:cat /etc/passwd | grep sam sam:x:1003:1003:Samwise the Brave:/home/sam:
Sams Home-Ordner wurde nicht erstellt, existiert also
/home/sam
nicht.
Gibt es Hinweise darauf, was all diese Probleme verursachen könnte?
Ich sollte hier beachten, dass diese Probleme nicht auftreten, wenn ich einen Benutzer mit dem Unity Control Center erstelle. Ich möchte jedoch die Befehlszeile verwenden können, da ich Dutzende von Benutzern erstellen muss.
quelle
Benutzer anlegen
Erstellen Sie das Basisverzeichnis des Benutzers
Login-Shell definieren
Benutzer löschen
Benutzerverzeichnis löschen
quelle
Während Sie keine Flags haben und die anderen Antworten nicht unbedingt falsch sind, sollten Sie adduser ausführen, wenn Sie es in Zukunft umfassender haben möchten. Es ist eine hübschere Version von useradd. Im Gegensatz zu useradd wird hierdurch standardmäßig ein Ausgangsverzeichnis erstellt. Beachten Sie auch, dass bei der Abfrage einer Menge Daten diese in der Datei / etc / passwd gespeichert werden und Sie nichts ausfüllen müssen.
quelle
Vielen Dank an alle. Mit Ihren Antworten konnte ich das Problem mithilfe der folgenden Befehlszeilen beheben.
Das Passwort ist so eingestellt,
passwd
dass es bereits verschlüsselt ist (andernfalls würde "hallo-1234" in / etc / passwd nicht verschlüsselt erscheinen).quelle
Im Befehl useradd fehlen Flags. '-m' zum Erstellen des Benutzerverzeichnisses, '-s / bin / bash' zum Hinzufügen der bash-Shell. Standardmäßig wird kein Benutzerverzeichnis erstellt und die Standardshell zugewiesen. Mein System hat dasselbe getan, als ich es getestet habe. Es sieht also so aus, als ob Ubuntu 14.04 Blank als Standardshell verwendet. Sie können sich nicht anmelden, da Sie keine Shell haben.
Standard-Ausgangsverzeichnis für vorhandenen Benutzer im Terminal erstellen (Frage 335961, 3. Antwort)
Von Ubuntu Manpage für useradd
Wie ändere ich die Standard-Shell für ALL USERS auf bash? Anfrage 335961
quelle