Sto tentando di amministrare un gruppo di Mac Minis utilizzato come server. Recentemente ho avuto bisogno di cambiare tutte le loro password, quindi ho inserito SSH e ho eseguito questo comando, che era quello che usavo quando creavo nuovi account utente su quelle macchine:
sudo dscl . passwd /Users/administrator thePassword
Sfortunatamente, questo non ha fatto ciò che pensavo quando usato su un utente esistente: la nuova password non è thePassword
e quindi ho perso l'accesso a sudo
. man dscl
ha questo da dire:
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.
Quindi sembra che avrei dovuto fornire la vecchia password dell'utente quando eseguivo quel comando precedente, ma non l'ho fatto. So quale password ho inserito e ho ancora accesso SSH alle macchine. Se riesco a capire cosa ha fatto il comando, sarò in grado di dire quale password ho impostato sugli account.