4 votos

Establecer la contraseña maestra desde el terminal

Estoy intentando establecer una contraseña maestra desde el terminal (usando un shell script). Veo la función passwd y la función master.passwd, sin embargo no veo ninguna documentación en ninguna de estas para establecer la contraseña maestra (AFAIK, estas establecen las contraseñas de usuario solamente).

Extraigo mi información de estas fuentes:

http://support.apple.com/kb/ph7032 ¿Qué hace este comando: sudo dscl . passwd /Users/administrator thePassword https://developer.apple.com/library/mac/documentation/darwin/reference/manpages/man5/master.passwd.5.html

Mi pregunta es:

¿Puede utilizar los comandos passwd o master.passwd para establecer la contraseña maestra? Si es así, ¿puede proporcionar un ejemplo de cómo hacerlo?

6voto

Tony Williams Puntos 4903

En primer lugar, hay que tener en cuenta algunas cosas:

En el Mac los archivos /etc/passwd y /etc/master.passwd sólo se consultan cuando el Mac arranca en modo de usuario único.

No estoy seguro de lo que quieres decir con "establecer la contraseña maestra" para el Mac. ¿Te refieres a establecer la contraseña de la cuenta 'Root'?

Normalmente se utiliza el passwd para cambiar las contraseñas desde la línea de comandos (no hay ningún comando master.passwd ), pero no se puede utilizar desde un script, ya que requiere entrada.

Para cambiar una contraseña en un script es necesario utilizar el método dscl mando.

He aquí un ejemplo:

dscl . -passwd /Users/tonyw newpass

Tenga en cuenta que lo anterior tendría que ser ejecutado como Root, lo que significa que su script tendría que ser ejecutado por Root. De lo contrario tienes que añadir autenticación al comando dscl así:

dscl . -u Admin -P adminpassword -passwd /Users/tonyw newpass

El usuario Admin debe tener privilegios de administrador para el Mac.

(Todo esto es increíblemente inseguro ya que tienes contraseñas en texto plano en un script).

Por supuesto, para establecer la contraseña de 'Root' sólo tiene que cambiar el tonyw a root en lo anterior.

Eche un vistazo a dscl(1) para entender las opciones de lo anterior.

0 votos

Bien escrito y aclarado algunos de mis conceptos erróneos. Ya tengo algunos métodos en la mía para ofuscar la contraseña fuera de la cáscara script (voy a estar pasando como un argumento, por lo que nunca va a ser texto plano) Voy a seguir su consejo y revisar el dscl script e informar con mis hallazgos :)

0 votos

Bien, ahora he tenido tiempo de investigar un poco más y analizar adecuadamente tu pregunta: "No estoy seguro de lo que quieres decir con "establecer la contraseña maestra" para el Mac. ¿Te refieres a establecer la contraseña de la cuenta 'Root'?" La contraseña maestra se establece para filevault. Añade otra capa de protección si consigues olvidar una contraseña (entonces hay un administrativo que puede recuperar tus archivos). Esto es de lo que estoy hablando y no creo que pueda usar el comando dscl para lograr esto.

0 votos

Nathan, te has dado cuenta de que lo llaman "clave de recuperación" y no contraseña maestra en toda su documentación.

1voto

Tony Williams Puntos 4903

OK, para FileVault necesitas usar el comando fdesetup mando. Configura un Mac de prueba, echa un vistazo a la página de manual y pruébalo. De la página man parece que puedes cambiar la contraseña de recuperación de FileVault usando el comando changerecovery opción.

Lo siento, pero no estoy dispuesto a hacer las pruebas para darte los comandos exactos, ya que equivocarme podría fastidiar seriamente mi Mac. Hay un montón de ejemplos en la página man.

BTW - Lo encontré yendo a apropos FileVault en la línea de comandos. Siempre es un buen primer paso.

0 votos

Tras hablar con el responsable del proyecto, parece que se equivocó sobre cuál era la contraseña maestra. Como no vamos a utilizar filevault (que es su único uso) hemos decidido no preocuparnos por esto. Tu respuesta parece correcta... pero como no la estoy probando no sé si debería marcarla como respuesta o simplemente dejarla estar.

1voto

Mox Sisu Puntos 11

Reinicia tu Mac y mantén pulsado Command + s Deja que se cargue y escribe:

/sbin/fsck -y
/sbin/mount -UAW

Esto hará que aparezca un directorio de usuarios, a continuación, escriba:

ls /Users/

Supongamos que el nombre de la cuenta es xyz tipo:

passwd xyz

Tenga en cuenta que la línea de comandos debe estar en blanco. Escriba la nueva contraseña y pulse Intro. Observe que la línea de comandos debe volver a estar en blanco.

Vuelva a escribir la nueva contraseña y pulse Intro. Finalmente escribe:

reboot

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