Изменить pwpolicy в Sierra

Я пытаюсь изменить политики паролей Sierra по умолчанию с помощью pwpolicy, пытаясь, например, уменьшить глубину истории паролей с 24 до 1, нажав sudoer:

sudo pwpolicy setaccountpolicies "policyAttributePasswordHistoryDepth=1"

Но это не работает. Сообщение об ошибке:

Ошибка: файл политики не найден

Идентификатор политики, который я пытаюсь изменить, который отображается (и многие другие) при нажатии, выглядит pwpolicy getaccountpoliciesследующим образом:

<key>policyIdentifier</key>             
<string>ProfilePayload:[HASHED_VALUE]:pinHistory</string>           
<key>policyParameters</key>             
<dict>
  <key>policyAttributePasswordHistoryDepth</key>
  <integer>24</integer>             
</dict>

Как правильно это сделать?

Я никогда не использовал эту команду, но, согласно справочной странице, -setaccountpolicies«принимает один аргумент: имя файла, содержащего политики».
Я не могу найти ни файл, ни путь для XML-списка политик. Я просто могу получить команду «pwpolicy».

Ответы (1)

Хорошо, вот как я наконец решил это, хотя я не уверен, что это самый правильный способ.

Как указал @patrixpwpolicy setaccountpolicies , требуется путь к файлу XML с политиками.

pwpolicy getaccountpoliciesдает текущие глобальные политики в формате XML, поэтому я перенаправил вывод в файл с pwpolicy getaccountpolicies > file.plist, удалив возможные информационные сообщения, которые может написать команда, и оставив только структуру XML.

<?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>

Затем я изменил значение, которое хотел изменить в моем случае, в файле, который я создал ( file.plist):

<key>policyIdentifier</key>             
<string>ProfilePayload:[HASHED_VALUE]:pinHistory</string>           
<key>policyParameters</key>             
<dict>
  <key>policyAttributePasswordHistoryDepth</key>
  <integer>2</integer>             
</dict>

Наконец, я использовал этот файл для обновления политики:pwpolicy setaccountpolicies /path/to/file.plist