¿Cuál es la contraseña de firmware de mi MacBook después de usar setregproptool?

3

Al intentar automatizar la configuración de las contraseñas de firmware a través de DeployStudio, accidentalmente escribí un script mal basado en la publicación de Dash Configuración de un firmware contraseña que no funcionó como estaba previsto.

#!/bin/sh    
diskutil mount Recovery\ HD & wait
hdiutil attach -quiet -nobrowse /Volumes/Recovery\ HD/com.apple.recovery.boot/BaseSystem.dmg & wait
OLDPASSWORD= ""
CONFIRMPASSWORD= "password"
/Volumes/OS\ X\ Base\ System/Applications/Utilities/Firmware\ Password\ Utility.app/Contents/Resources/setregproptool -m command -p $CONFIRMPASSWORD -o $OLDPASSWORD
diskutil unmount force Recovery\ HD & wait
echo "New Firmware Password is Set"

Si ya puede saberlo, al configurar las variables para OLDPASSWORD y CONFIRMPASSWORD, no debería haber agregado ese espacio adicional porque obtuve errores de "comando no encontrado".

Sin embargo, ejecuté el script a través de DeployStudio (la ejecución pospuesta no está marcada) y se estableció una contraseña. Simplemente no sé lo que es. Intenté "contraseña" y contraseña vacía. ¿Alguien tiene una idea de lo que podría ser? Lo único que podría hacer es enviar el macbook a Apple Repair.

    
pregunta AlexR 06.02.2017 - 23:04

1 respuesta

3

Dado que OLDPASSWORD y CONFIRMPASSWORD están sin configurar, el comando que ejecutó su script fue:

/Volumes/OS\ X\ Base\ System/Applications/Utilities/Firmware\ Password\ Utility.app/Contents/Resources/setregproptool -m command -p -o

No lo sé con certeza (y no voy a probarlo), pero espero que esto haya tomado "-o" como un argumento de la opción "-p", y por lo tanto establezca el Contraseña de firmware para "-o".

Por cierto, además de eliminar los espacios después de "=" en las asignaciones, también debe citar todas las referencias a las variables, de esta forma:

/Volumes/OS\ X\ Base\ System/Applications/Utilities/Firmware\ Password\ Utility.app/Contents/Resources/setregproptool -m command -p "$CONFIRMPASSWORD" -o "$OLDPASSWORD"

Esto evitará que el shell haga cosas extrañas con variables que contienen espacios y / o comodines, o están en blanco (como OLDPASSWORD en su script).

    
respondido por el Gordon Davisson 06.02.2017 - 23:21

Lea otras preguntas en las etiquetas