MacOSのパスワードポリシーの変更

MacOS

最近MacOS(11.6.5)を再インストールし,パスワードを再設定しようとpasswdコマンドを実行したところ,

# passwd user1
Changing password for user1.
Old password:
New password:
Retype new password:
passwd: 
Password change failed because password does not meet minimum quality requirements.

とのメッセージが出てパスワードを変更することができませんでした.これは,3文字のパスワードを設定しようとしたからで,デフォルトのパスワードポリシーは3文字以下のパスワードを禁止しています.このパスワードポリシーの変更方法を説明します.

パスワードポリシーの変更手順

パスワードポリシーはpwpolicyコマンドで変更します.このコマンドでポリシーの一部を直接変更することもできますが,ネット上でよく行われている以下の手順で変更します.

  1. パスワードポリシーのファイルへの取得
  2. パスワードポリシーの編集
  3. パスワードポリシーの適用

パスワードポリシーのファイルへの取得

以下のコマンドを実行し,パスワードポリシーをxmlファイルに出力します.

pwpolicy getaccountpolicies > accountpolicies.xml

パスワードポリシーの編集

一行目の以下の行を削除します.

Getting global account policies

つづいて,以下の行の「4」を「3」へ変更します.

<string>policyAttributePassword matches '^$|.{4,}+'</string>

これ以外にも各言語毎にメッセージが用意されており,この中に「4」という文字が含まれています(もしくは「4」を意味するその言語の文字)が,私はそのままにしました.

パスワードポリシーの適用

以下のコマンドを実行し,パスワードポリシーをシステムに適用します.getaccountpoliciesサブオプションと違いリダイレクト記号は不要です.

pwpolicy setaccountpolicies  accountpolicies.xml

これでパスワードポリシーが変更されました.これ以後のpasswdコマンドは3文字以上のパスワードが設定可能となります.システムの再起動は不要で有効になりました.

パスワード変更例

# passwd user1
Changing password for user1.
Old password:
New password:
Retype new password:

################################### WARNING ###################################
# This tool does not update the login keychain password.                      #
# To update it, run `security set-keychain-password` as the user in question, #
# or as root providing a path to such user's login keychain.                  #
###############################################################################

#

コメント

タイトルとURLをコピーしました