Wie füge ich einen Benutzer ohne den Befehl useradd hinzu?


11

Ist es möglich, einen Benutzer in Ubuntu Linux ohne den Befehl useradd hinzuzufügen? Ich denke, es ist möglich, indem man die Einträge in hinzufügt, /etc/passwd and /etc/shadowaber ich kenne die genauen Schritte dazu nicht und der Benutzer sollte auch sein Home-Verzeichnis und seine Bash-Shell erhalten.

Antworten:


19

Es ist nicht manuell ändern zu empfehlen /etc/passwd, /etc/shadow, /etc/groupoder /etc/gshadowweil die Bruchgefahr. Wenn Sie nach einem alternativen Befehl suchen, der einfacher zu verwenden ist, schauen Sie sich diesen an adduser(8). Alles was Sie ausführen müssen ist:

sudo adduser user

Die Shell ist /bin/bashstandardmäßig per /etc/adduser.conf.

Wenn Sie einen Benutzer mit der Bash-Shell hinzufügen und dabei ein Home-Verzeichnis /home/userund eine Benutzergruppe erstellen möchten, verwenden Sie normalerweise Folgendes :

sudo useradd --create-home --shell /bin/bash --user-group user

Dieser Befehl ermittelt im Wesentlichen eine freie Benutzer- $UIDund Gruppen-ID $GIDund führt dann die nächsten Befehle aus:

echo "user:x:$UID:$GID::/home/user:/bin/bash" | sudo tee -a /etc/passwd
echo "user:x:$GID:" | sudo tee -a /etc/group
echo "user:!:$DATE_OF_LAST_PASS_CHANGE:0:99999:7:::" | sudo tee -a /etc/shadow
echo "user:!::" | sudo tee -a /etc/gshadow

..und damit möglicherweise eine Sicherungskopie der Dateien erstellen.

Die nächsten Handbuchseiten zu den Dateiformaten könnten für Sie von Interesse sein:


Hey, Lekensteyn, hast du diesen ersten Teil ihres Beitrags verpasst? "Ist es möglich, einen Benutzer in Ubuntu Linux ohne den Befehl useradd hinzuzufügen ..." Sie wollen eine Lösung ohne useradd: /
Thomas Ward

1
@TheEvilPhoenix: Ich dachte, er fragt nach einer Alternative für adduser. Ich habe jetzt adduserals Antwort aufgenommen. Es ist in der Tat "ohne useradd" :)
Lekensteyn

Kein Problem, wollte darauf hinweisen, ist alles. und verzeihen Sie mir, dass ich semikonfrontativ bin ... lange, schlechte Arbeitstage mit Kaskadenserverausfall tun Ihnen das an ...
Thomas Ward

@Alle Ich möchte Benutzer ohne Benutzeradd erstellen, indem ich mögliche Einträge in / etc / passwd und / etc / shadow
hinzufüge

2
@ m59 >>versucht, eine Datei als aktueller (Nicht-Root-) Benutzer zu öffnen, was mit einem Fehler "Berechtigung verweigert" fehlschlägt. Die sudo teeUmgehung umgeht das. Alternativ können Sie den Befehl in a sudo sh -c '...'einschließen, um dieses Problem zu vermeiden.
Lekensteyn

1

Obwohl dies normalerweise nicht erforderlich oder empfohlen ist, lautet die Antwort auf die Frage, wie ein Benutzer ohne den Befehl useradd hinzugefügt werden kannsudo vipw

Dadurch wird Ihr systemdefinierter Editor gestartet, während die passwd-Datei gesperrt wird. Geben Sie eine Zeile für einen neuen Benutzer ein. (In vi drücken Sie die Umschalttaste-G, um zur letzten Zeile zu gelangen, und dann yy p, um sie zu duplizieren.) Bearbeiten Sie den Benutzernamen und erstellen Sie eine eindeutige Benutzer-ID.

Nach dem Speichern der Datei und dem Beenden des Editors werden Sie aufgefordert, / etc / shadow zu bearbeiten. Verwenden Sie dieselbe Technik, um eine neue Zeile zu erstellen, und verwenden Sie "*" für den Kennwort-Hash. Das neue Konto ist gesperrt. Verwenden Sie passwd usernamediese Option, um es zu entsperren und ein Kennwort festzulegen.

Es ist auch erforderlich, ein Basisverzeichnis zu erstellen, Dateien aus dem Skelettverzeichnis zu kopieren, Gruppenberechtigungen festzulegen usw. Dies vipwist jedoch Ihre Hauptressource. Siehe auch vigr.

Quelle: http://itguykelly.wordpress.com/2011/04/19/manually-add-new-user-to-red-hatfedoracentos/ (Ja, diese Befehle funktionieren in verschiedenen Varianten von * nix)


0

Wenn der Benutzer im System erstellt wird, wirkt sich dies auf die Dateien wie / etc / übergeben, / etc / group, / etc / shadow aus. Gehen Sie diese Dateien durch und nehmen Sie den manuellen Eintrag vor. Und schließlich fügen Sie aus der Datei / etc / skel das Skelett für den Benutzer im Home-Verzeichnis des Benutzers hinzu, das Sie im Home-Verzeichnis erstellen müssen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.