Ich habe einen Benutzernamen und einen SSH-Schlüssel für einen (hypothetischen) Mann und muss ihm Administratorzugriff auf einen Linux-Server (Ubuntu) gewähren.
Ich möchte, dass er sich über SSH anmelden und dann sein Passwort über eine sichere Verbindung selbst festlegen kann, anstatt das Passwort weiterzugeben.
Ich weiß, wie ich das Passwort ablaufen lassen und ihn zwingen kann, es beim ersten Anmelden zurückzusetzen. Aber das funktioniert nicht , es sei denn , er hat einige bereits Passwort, das ich ihm dann sagen müssen.
Ich habe darüber nachgedacht, das Passwort leer zu machen - SSH würde keine Anmeldung zulassen, aber dann kann jeder su
in den Benutzer.
Meine Frage ist, gibt es eine bewährte Methode, um Konten auf diese Weise zu erstellen? Oder ist das Festlegen eines Standardkennworts unvermeidlich?
sudo
, nicht wahr?USERNAME = NOPASSWD: /usr/local/bin/pwreset.sh
in/etc/sudoers
und dem Skript,pwreset.sh
das den Befehl/usr/bin/passwd USERNAME
ausführt, benötigt er kein Passwort, um sein eigenes Passwort (neu) festzulegen.Fügen Sie einfach eine Textdatei mit dem Kennwort in das Haus des Benutzers mit den Rechten 600 ein. Der Benutzer, der sich mit dem Schlüssel anmeldet, ändert das Kennwort und löscht die Datei. Mit einem Skript mit gesetztem suid-Bit können Sie sogar so etwas wie passwd <textfile erstellen, ohne dem Benutzer das Recht zu geben, die Datei zu lesen (Rechte wären 060 mit group = root).
quelle
Das Festlegen eines Standardkennworts ist unvermeidlich. Mein Verfahren wäre:
1) Generieren Sie ein sicheres, zufälliges Passwort (für jeden Benutzer unterschiedlich). Ich verwende den Passwortgenerator in den Kontoeinstellungen von OSX, aber Sie können auch eine Website wie http://strongpasswordgenerator.com verwenden
2) Geben Sie ihnen das Passwort sicher, z. B. persönlich oder über http://www.privnote.com
3) Erzwingen Sie beim ersten Anmelden einen Reset, da Sie bereits wissen, wie es geht
quelle