Legen Sie das Master-Passwort vom Terminal fest

Ich versuche, ein Master-Passwort vom Terminal aus festzulegen (mithilfe eines Shell-Skripts). Ich sehe die passwd-Funktion und die master.passwd-Funktion, aber ich sehe keine Dokumentation zu beiden, um das Master-Passwort festzulegen (AFAIK, diese legen nur die Benutzerpasswörter fest).

Ich beziehe meine Informationen aus diesen Quellen:

http://support.apple.com/kb/ph7032 Was macht dieser Befehl: sudo dscl . passwd /Users/administrator thePassword https://developer.apple.com/library/mac/documentation/darwin/reference/manpages/man5/master.passwd.5.html

Meine Frage ist:

Können Sie die Befehle passwd oder master.passwd verwenden, um das Master-Passwort festzulegen? Wenn ja, können Sie bitte ein Beispiel geben, wie Sie dies erreichen können?

Antworten (3)

Zunächst ein paar Dinge zu beachten:

Auf dem Mac werden die Dateien /etc/passwdund /etc/master.passwdnur konsultiert, wenn der Mac im Single-User-Modus gebootet wird.

Ich bin mir nicht sicher, was Sie mit "Master-Passwort festlegen" für den Mac meinen. Meinst du das Passwort für das Konto 'root' setzen?

Normalerweise verwenden Sie den passwdBefehl, um Kennwörter von der Befehlszeile aus zu ändern (es gibt keinen master.passwdBefehl), aber Sie können ihn nicht von einem Skript aus verwenden, da er eine Eingabe erfordert.

Um ein Passwort in einem Skript zu ändern, müssen Sie den Befehl verwenden dscl.

Hier ist ein Beispiel :

dscl . -passwd /Users/tonyw newpass

Beachten Sie, dass das obige als root ausgeführt werden muss, was bedeutet, dass Ihr Skript von root ausgeführt werden muss. Andernfalls müssen Sie dem dscl-Befehl die Authentifizierung hinzufügen:

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

Der Benutzer Adminmuss über Administratorrechte für den Mac verfügen.

(All dies ist unglaublich unsicher, da Sie Passwörter im Klartext in einem Skript haben.)

Um das Passwort für „root“ festzulegen, ändern Sie einfach das tonywin rootoben.

Werfen Sie einen guten Blick auf, dscl(1)um die oben genannten Optionen zu verstehen.

Gut geschrieben und einige meiner Missverständnisse ausgeräumt. Ich habe bereits ein paar Methoden in mir, um das Passwort aus dem Shell-Skript zu verschleiern (ich werde es als Argument übergeben, also wird es niemals Klartext sein). Ich werde Ihren Rat befolgen und das dscl-Skript überprüfen und berichten mit meinen Erkenntnissen :)
Okay, jetzt hatte ich etwas Zeit, um etwas mehr zu recherchieren und Ihre Frage richtig zu analysieren: "Ich bin mir nicht sicher, was Sie mit "Master-Passwort festlegen" für den Mac meinen. Meinen Sie "Passwort für das Konto festlegen"? Wurzel'?" Das Master-Passwort wird für filevault gesetzt. Es fügt eine weitere Schutzebene hinzu, wenn Sie es schaffen, ein Passwort zu vergessen (dann gibt es einen Administrator, der Ihre Dateien wiederherstellen kann). Das ist es, worüber ich spreche, und ich glaube nicht, dass ich den dscl-Befehl verwenden kann, um dies zu erreichen.
Nathan, du hast bemerkt, dass sie es in ihrer ganzen Dokumentation einen "Wiederherstellungsschlüssel" und kein Master-Passwort nennen.
dscl . -passwd /Users/tonyw newpass- Funktioniert hervorragend unter OS X 10.9.5.

OK, für FileVault müssen Sie den fdesetupBefehl verwenden. Richten Sie einen Test-Mac ein, sehen Sie sich die Manpage genau an und probieren Sie alles aus. Auf der Manpage sieht es so aus, als ob Sie das FileVault-Wiederherstellungskennwort mit der changerecoveryOption ändern können.

Tut mir leid, aber ich bin nicht bereit, die Tests durchzuführen, um Ihnen die genauen Befehle zu geben, da ein Fehler meinen Mac ernsthaft beschädigen könnte. Es gibt eine Reihe von Beispielen in der Manpage.

Übrigens - ich habe es gefunden, indem ich apropos FileVaultauf die Befehlszeile gegangen bin. Immer ein guter erster Schritt.

Nach einem Gespräch mit dem Projektleiter scheint er sich beim Master-Passwort geirrt zu haben. Da wir Filevault nicht verwenden werden (was nur der Fall ist), haben wir uns entschieden, uns darüber keine Gedanken zu machen. Ihre Antwort scheint richtig zu sein ... aber da ich sie nicht teste, weiß ich nicht, ob ich sie als Antwort markieren oder einfach so lassen soll.

Starten Sie Ihren Mac neu und halten Sie Command+ gedrückt s, lassen Sie es laden und geben Sie dann Folgendes ein:

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

Dadurch wird ein Benutzerverzeichnis angezeigt. Geben Sie dann Folgendes ein:

ls /Users/

Hinweis: Nehmen wir an, der Kontoname lautet xyz, geben Sie Folgendes ein:

passwd xyz

Beachten Sie, dass die Befehlszeile leer sein sollte. Geben Sie das neue Passwort ein und drücken Sie die Eingabetaste. Beachten Sie, dass die Befehlszeile wieder leer sein sollte.

Geben Sie das neue Passwort erneut ein und drücken Sie die Eingabetaste. Geben Sie abschließend Folgendes ein:

reboot