Я использую OSX 10.11.2, и у меня есть скрипт, который уже создает новых пользователей, используя dscl
. Я хотел бы назначить новым пользователям программно временный пароль, действительный, например, на 24 часа, который я могу распространять по электронной почте. Затем пользователь должен войти в систему (например, SSH) в течение этого льготного времени и быть вынужден изменить свой пароль (passwd
). Вновь выбранный пароль не должен иметь срока действия. Если вместо этого временный пароль истекает, учетная запись пользователя должна быть автоматически отключена.
Я не хочу использовать какой-либо сервер аутентификации. Все пользователи являются локальными.
Я думаю, что это можно взломать с помощью crontab и чтения passwordLastSetTime
из dscl . -read /Users/<username> accountPolicyData
. Но не проще ли?
Читая https://www.jamf.com/jamf-nation/discussions/18574/user-password-policies-on-non-ad-machines, я попытался использовать pwpolicy
, но почему-то более простые DEPRECATED
опции, похоже, не применяются по OSX. Кроме того, из-за того, что я играю с pwpolicy
, локальные пользователи больше не могут менять свои собственные пароли, они получают passwd: general failure
.
Чтение https://www.jamf.com/jamf-nation/discussions/9559/password-expiration-warning-without-active-directory, PasswordPolicyOptions
представляется полезным. К сожалению dscl . read /Users/<username> PasswordPolicyOption
возвращает No such key: PasswordPolicyOptions
, возможно, из-за моих предыдущих (разрушительных) экспериментов с pwpolicy
.
У кого-нибудь есть предложения, как лучше всего этого добиться? Спасибо!