Was macht dieser Befehl: sudo dscl. passwd / Benutzer / Administrator das Passwort

12

Ich versuche eine Gruppe von Mac Minis zu verwalten, die als Server verwendet werden. Ich musste kürzlich alle ihre Passwörter ändern, also habe ich diesen Befehl per SSH eingegeben und ausgeführt, den ich beim Erstellen neuer Benutzerkonten auf diesen Computern verwendet habe:

sudo dscl . passwd /Users/administrator thePassword

Leider hat dies nicht das getan, was ich dachte, als es für einen vorhandenen Benutzer verwendet wurde - das neue Kennwort ist es nicht thePasswordund ich habe den Zugriff auf verloren sudo. man dsclhat folgendes zu sagen:

passwd

 Usage: passwd user_path [new_pasword | old_password new_pasword]

 Changes a password for a user. The user must be specified by full path,
 not just a username.  If you are authenticated to the node (either by
 specifying the -u and -P flags or by using the auth command when in
 interactive node) then you can simply specify a new password.  If you are
 not authenticated then the user's old password must be specified.  If
 passwords are not specified while in interactive mode, you will be
 prompted for them.  Passing these passwords on the command line is inher-
 ently insecure and can cause password exposure.  For better security do
 not provide the password as part of the command and you will be securely
 prompted.

Es sieht also so aus, als hätte ich das alte Passwort des Benutzers angeben sollen, als ich diesen vorherigen Befehl ausgeführt habe, aber ich habe es nicht getan. Ich weiß, welches Passwort ich eingegeben habe und habe immer noch SSH-Zugriff auf die Computer. Wenn ich herausfinden kann, was der Befehl bewirkt hat, kann ich feststellen, welches Kennwort ich für die Konten festgelegt habe.

MaxGabriel
quelle

Antworten:

9

Ach, es stellt sich heraus , dass das ist der richtige Weg , das Kennwort eines Benutzers zu ändern , wenn mit sudo. Wenn Sie sudo nicht verwenden, müssen Sie nur dann das alte Passwort des Benutzers angeben.

Mein Problem war, dass das Passwort ein '$' Zeichen enthielt, dem ich nicht entkommen konnte. Folglich wurden die Passwörter vor dem $ -Zeichen abgeschnitten.

MaxGabriel
quelle
Dies bedeutet, dass ein korrekter Befehl zum Ändern des Passworts in das Wort Pa $$ wie folgt aussieht: sudo dscl. passwd / Benutzer / Administrator thePa \ $ \ $ word Richtig?
Mark
1
Ich würde nur das Argument ( sudo dscl . passwd /Users/administrator "thePa$$word") zitieren
MaxGabriel
2
Wenn Sie dies über die Konsole tun, geben Sie kein Kennwort an. dsclSie werden dazu aufgefordert, und Sie riskieren daher nicht, vertrauliche Informationen in Ihrem Befehlsverlauf zu belassen.
Marcelo Cantos