Estoy (intentando) administrar un grupo de Mac Minis utilizados como servidores. Recientemente necesité cambiar todas sus contraseñas, así que me conecté por SSH y ejecuté este comando, que fue el que usé al crear nuevas cuentas de usuario en esas máquinas:
sudo dscl . passwd /Users/administrator thePassword
Desafortunadamente, esto no hizo lo que yo pensaba cuando se utiliza en un usuario existente-la nueva contraseña no es thePassword
y así he perdido el acceso a sudo
. man dscl
tiene esto que decir:
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.
Así que parece que debería haber proporcionado la antigua contraseña del usuario al ejecutar ese comando anterior, pero no lo hice. Sé qué contraseña introduje y todavía tengo acceso SSH a las máquinas. Si puedo averiguar qué hizo el comando, podré saber qué contraseña puse en las cuentas.