¿Qué hace este comando: sudo dscl. contraseña / Usuarios / administrador la Contraseña

12

Estoy (intentando) administrar un grupo de Mac Minis utilizados como servidores. Hace poco necesitaba cambiar todas sus contraseñas, así que ingresé SSH y ejecuté este comando, que era lo que usaba al crear nuevas cuentas de usuario en esas máquinas:

sudo dscl . passwd /Users/administrator thePassword

Desafortunadamente, esto no hizo lo que pensé cuando lo usé en un usuario existente: la nueva contraseña no thePasswordlo es, por lo que he perdido el acceso sudo. man dscltiene 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.

Parece que debería haber proporcionado la contraseña anterior del usuario al ejecutar ese comando anterior, pero no lo hice. Sé qué contraseña ingresé y todavía tengo acceso SSH a las máquinas. Si puedo averiguar qué hizo el comando, podré decir qué contraseña configuré en las cuentas.

MaxGabriel
fuente

Respuestas:

9

Ah, resulta que esa es la forma correcta de cambiar la contraseña de un usuario cuando se usa sudo. Si no usa sudo, solo entonces debe proporcionar la contraseña anterior del usuario.

Mi problema fue que había un carácter '$' en la contraseña, del cual no escapé. En consecuencia, las contraseñas se cortaron antes del carácter $.

MaxGabriel
fuente
Esto significa que un comando apropiado para cambiar la Contraseña a la palabra Pa $$ se ve así: sudo dscl. passwd / Usuarios / administrador thePa \ $ \ $ word ¿No?
Mark
1
Solo citaría el argumento ( sudo dscl . passwd /Users/administrator "thePa$$word")
MaxGabriel
2
Si está haciendo esto desde la consola, no proporcione una contraseña. dscllo solicitará y, por lo tanto, no se arriesgará a dejar información confidencial en su historial de comandos.
Marcelo Cantos