12 votos

Qué hace este comando: sudo dscl . passwd /Users/administrator thePassword

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.

10voto

karatedog Puntos 641

Ah, resulta que eso es la forma correcta de cambiar la contraseña de un usuario cuando se utiliza sudo . Si no se utiliza sudo, sólo entonces es necesario proporcionar la antigua contraseña del usuario.

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

0 votos

Esto significa que un comando apropiado para cambiar thePassword a thePa$$word se parece a: sudo dscl . passwd /Users/administrator thePa\$\$word ¿Correcto?

1 votos

Me limitaría a citar el argumento ( sudo dscl . passwd /Users/administrator 'thePa$$word' )

3 votos

Si lo haces desde la consola, no pongas contraseña. dscl se lo pedirá, y así no correrá el riesgo de dejar información sensible en su historial de comandos.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X