Ich versuche, die standardmäßigen Sierra-Passwortrichtlinien durch zu ändern pwpolicy
, indem ich beispielsweise versuche, die Tiefe des Passwortverlaufs von 24 auf 1 zu verringern, indem ich als sudoer drücke:
sudo pwpolicy setaccountpolicies "policyAttributePasswordHistoryDepth=1"
Aber es funktioniert nicht. Die Fehlermeldung lautet:
Fehler: Richtliniendatei nicht gefunden
Der policyIdentifier, den ich zu ändern versuche, wird (mit vielen anderen) aufgelistet, wenn ich darauf klicke, und pwpolicy getaccountpolicies
lautet wie folgt:
<key>policyIdentifier</key>
<string>ProfilePayload:[HASHED_VALUE]:pinHistory</string>
<key>policyParameters</key>
<dict>
<key>policyAttributePasswordHistoryDepth</key>
<integer>24</integer>
</dict>
Wie geht man richtig vor?
Ok, so habe ich es endlich gelöst, obwohl ich nicht sicher bin, ob es der richtige Weg ist.
Wie @patrix betonte, ist pwpolicy setaccountpolicies
der Pfad einer XML-Datei mit den Richtlinien erforderlich.
pwpolicy getaccountpolicies
gibt die aktuellen globalen Richtlinien im XML-Format an, also habe ich die Ausgabe in eine Datei mit umgeleitet pwpolicy getaccountpolicies > file.plist
, die möglichen Info-Meldungen entfernt, die der Befehl schreiben könnte, und nur die XML-Struktur übrig gelassen.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>policyCategoryPasswordChange</key>
<array>
...
</array>
</dict>
</plist>
Dann habe ich den Wert, den ich in meinem Fall ändern wollte, in der von mir erstellten Datei geändert ( file.plist
):
<key>policyIdentifier</key>
<string>ProfilePayload:[HASHED_VALUE]:pinHistory</string>
<key>policyParameters</key>
<dict>
<key>policyAttributePasswordHistoryDepth</key>
<integer>2</integer>
</dict>
Schließlich habe ich diese Datei verwendet, um die Richtlinie zu aktualisieren:pwpolicy setaccountpolicies /path/to/file.plist
kein Hang
-setaccountpolicies
"Nehmt ein Argument: den Namen der Datei, die die Richtlinien enthält."Dez