Welche Schritte, um einen Benutzer zu einem System hinzuzufügen, ohne useradd / adduser zu verwenden?

10

Ich habe einige Linux-Fragen durchgesehen und diese interessante Frage gesehen.

Welche Schritte, um einen Benutzer zu einem System hinzuzufügen, ohne useradd/ zu verwenden adduser?

Der eine mögliche Weg, der mir in den Sinn kommt, ist:

  • Fügen Sie einen Eintrag für den Benutzer in der /etc/passwdDatei hinzu.
  • Fügen Sie einen Eintrag für die Gruppe in der /etc/groupDatei hinzu.
  • Erstellen Sie das Home-Verzeichnis für den hinzugefügten Benutzer.
  • Legen Sie das neue Benutzerkennwort mit dem passwdBefehl fest.

Ich habe den obigen Ansatz getestet und es hat gut funktioniert.

Ist dies der einzig mögliche Weg oder gibt es andere Möglichkeiten, dies zu erreichen?

Ramesh
quelle
4
Gute Frage, aber wo wäre das sinnvoll?
Nidal
1
@Networker, über denselben Link, den ich in der Antwort gepostet habe, habe ich auch diese Informationen gefunden. Manchmal müssen Dummy-Konten erstellt werden, die nicht von Personen verwendet werden. Zum Beispiel, um einen anonymen FTP-Server einzurichten .
Ramesh
2
@Networker, kann praktische Fälle sein, es kann nutzlos sein. Trotzdem ist es in einigen Interviewfragen nützlich, wo ich diese Frage ursprünglich bekommen habe. serverfault.com/a/225954
Ramesh
1
Vielen Dank für diese Erklärung, und Ihre Antwort ist in der Tat nützlich. Ich werde es in Zukunft versuchen.
Nidal
2
@Networker: hier ein Anwendungsfall: WSL Ubuntu unter Win10 weigert sich zu arbeiten, beschwert sich über Sperrdateien und weigert sich weiterhin zu arbeiten, nachdem diese Dateien entfernt wurden (als Root). Ich wette, es hängt mit der Win10-Version zusammen, aber ich kann momentan kein Update durchführen. In diesem Fall würde ich diese Methode verwenden.
runlevel0

Antworten:

13

Die Möglichkeit, einen Benutzer hinzuzufügen, ähnelt mehr oder weniger dem, was ich in die Frage gestellt habe. Ich habe diesen Ansatz von hier bekommen .

Gehen Sie folgendermaßen vor, um ein neues Konto manuell zu erstellen:

Bearbeiten Sie /etc/passwdmit vipwund fügen Sie eine neue Zeile für das neue Konto hinzu. Seien Sie vorsichtig mit der Syntax. Bearbeiten Sie nicht direkt mit einem Editor. vipwsperrt die Datei, damit andere Befehle nicht gleichzeitig versuchen, sie zu aktualisieren. Sie sollten das Kennwortfeld auf "*" setzen, damit Sie sich nicht anmelden können.

Bearbeiten Sie in ähnlicher Weise /etc/groupmit vigr, wenn Sie auch eine neue Gruppe erstellen müssen.

Erstellen Sie das Home-Verzeichnis des Benutzers mit mkdir.

Kopieren Sie die Dateien aus /etc/skelin das neue Ausgangsverzeichnis.

Beheben Sie Eigentümer und Berechtigungen mit chownund chmod. Die -ROption ist am nützlichsten. Die richtigen Berechtigungen variieren von Standort zu Standort geringfügig, aber normalerweise tun die folgenden Befehle das Richtige:

  • cd /home/newusername
  • chown -R username.group .
  • chmod -R go=u,go-w .
  • chmod go= .

Legen Sie das Passwort mit fest passwd.

Nachdem Sie im letzten Schritt das Passwort festgelegt haben, funktioniert das Konto. Sie sollten es nicht einstellen, bis alles andere erledigt ist, da sich der Benutzer sonst möglicherweise versehentlich anmeldet, während Sie die Dateien noch kopieren.

Ramesh
quelle
sollte nicht verwendet :werden, anstatt .den Benutzernamen von der Gruppe zu trennen?
pqnet
@pqnet ja, benutze :.
Joni
tnx @Ramesh für diese Frage und Materialien.
Karthik Nedunchezhiyan