Versuchen Sie derzeit, ein Skript (vorzugsweise Shell) zu verwenden, um das Firmware-Passwort bei einer neuen OSX-Installation einzurichten. Das habe ich offensichtlich gefunden:
http://osxdaily.com/2014/01/06/set-firmware-password-mac/
was bei einer manuellen Installation funktionieren würde, aber wir möchten dies so weit wie möglich automatisieren. Ich kann anscheinend keine Dokumentation zum Schreiben eines Skripts zum Einrichten eines (dynamischen) Firmware-Passworts finden.
Meine Frage ist:
Ist es möglich, ein Skript oder Programm zu verwenden, um ein dynamisches Firmware-Passwort unter OSX 10.8/10.9 einzurichten? Wenn ja, wissen Sie wie? Ist Ihnen eine Dokumentation bekannt?
Wenn Sie die versteckte „Recovery HD“-Partition im Terminal mounten:
sudo diskutil mount Recovery\ HD
und mounten Sie dann die "BaseSystem.dmg" erneut, indem Sie darauf doppelklicken:
dann sollten Sie in der Lage sein, die , die sich in "Firmware Password Utility.app" befindet, zu verwenden setregproptool
:
Um zu dem Ordner zu gelangen, der setregproptool
„Firmware Password Utility.app“ mit Rechtsklick (oder Control-Klick) enthält, wählen Sie „Paketinhalt anzeigen“ und navigieren Sie zu „Inhalt/Ressourcen“.
Alternativ zur Beschreibung in diesem Link:
Sie können „Firmware Password Utility.app“ an einen akzeptableren Ort kopieren (z. B. auf Ihr lokales Laufwerk) und es dann von dort aus verwenden.
Dies sind die Optionen von setregproptool
:
$ sudo Firmware\ Password\ Utility.app/Contents/Resources/setregproptool -h
Password:
setregproptool v 2.0 (9) Aug 24 2013
Copyright (C) 2001-2010 Apple Inc.
All Rights Reserved.
Usage: setregproptool [-c] [-d [-o <old password>]] [[-m <mode> -p <password>] -o <old password>]
-c Check whether password is enabled.
Sets return status of 0 if set, 1 otherwise.
-d Delete current password/mode.
Requires current password on some machines.
-p Set password.
Requires current password on some machines.
-m Set security mode.
Requires current password on some machines.
Mode can be either "full" or "command".
Full mode requires entry of the password on
every boot, command mode only requires entry
of the password if the boot picker is invoked
to select a different boot device.
When enabling the Firmware Password for the first
time, both the password and mode must be provided.
Once the firmware password has been enabled, providing
the mode or password alone will change that parameter
only.
-o Old password.
Only required on certain machines to disable
or change password or mode. Optional, if not
provided the tool will prompt for the password.
BaseSystem.dmg
und setregproptool
sich befinden.Ich habe ein Shell-Skript erstellt, das den Trick macht
#!/bin/sh
diskutil mount Recovery\ HD & wait
hdiutil attach -quiet -nobrowse /Volumes/Recovery\ HD/com.apple.recovery.boot/BaseSystem.dmg & wait
echo "What is the current Firmware password?"
read -s OLDPASSWORD
echo "What is the NEW Firmware password?"
read -s NEWPASSWORD
echo "Confirm the NEW Firmware password?"
read -s CONFIRMPASSWORD
while [ "$NEWPASSWORD" != "$CONFIRMPASSWORD" ];
do
read -s -p $'\x0aPasswords don\'t match. What is the NEW Firmware password?' NEWPASSWORD
read -s -p $'\x0aConfirme the NEW Firmware password?' CONFIRMPASSWORD
done
echo $'\x0aEnter the computer\'s admin password'
sudo /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 Password is Set"
Das einzige Problem, das ich dabei gefunden habe, ist, dass es das Passwort im Klartext in das Konsolenprotokoll zurückschreibt.
Weiß jemand, wie man verhindert, dass es in den Konsolenprotokollen protokolliert wird?
sudo SetFirmware.sh
wird zuerst nach dem Root-Passwort gefragt und dann das gesamte Skript als Root ausgeführt. Dann wird im Konsolenprotokoll nur noch der Dateiname SetFirmware.sh angezeigt.
zick