Ubuntu18.04 Samba-ad-dcのパスワードポリシー

ldbsearchがうまくいかなくってAdministratorのパスワードを変更しようとしたら2回目で怒られた。どうやらポリシー違反の模様。





具体的には…

$ samba-tool user password -U administrator
Password for [MYHOME\administrator]:
New Password:
Retype Password:
Changed password OK

$ samba-tool user password -U administrator
Password for [MYHOME\administrator]:
New Password:
Retype Password:
ERROR: Failed to change password : (-1073741716, "samr_ChangePasswordUser3 for 'MYHOME\\administrator' failed: NT_STATUS_PASSWORD_RESTRICTION")

 

発生しているエラー番号はWindowsに合わせてあって、番号で検索したら一覧表が見つかった。
Microsoft / Windows 10 用の累積的な更新プログラム2016年8月9日

 

パスワードポリシー

そりゃそうだよね、Windowsにきっちり合わせてあるよね、そりゃー説明は少なくなるよね、Microsoftでちゃんと説明されているんだもん。

設定項目

設定項目はざっくりこんな意味を持つと理解。
Microsoft / パスワード ポリシー
Microsoft / アカウント ロックアウトのポリシー

項目名 内容 パラメータ
Password complexity パスワードは複雑さの要件を満たしている必要がある –complexity=ON | OFF
Store plaintext passwords Store passwords using reversible encryption(暗号化を元に戻せる状態でパスワードを保存する)相当の場所に平文でパスワードを配置 –store-plaintext=ON | OFF
Password history length パスワードの履歴を記録して同じパスワードを利用させない –history-length=0~24
Minimum password length パスワードの長さ –min-pwd-length=0~14
Minimum password age パスワードの変更禁止期間 –min-pwd-age=0~998
Maximum password age パスワードの有効期間 –max-pwd-age=0~999
Account lockout duration ロックアウトされたアカウントのロックが自動的に解除されるまでの時間 –account-lockout-duration=0~999
Account lockout threshold アカウントのロックアウトのしきい値(サインインの失敗回数) –account-lockout-threshold=0~999
Reset account lockout after ロックアウトカウンターがリセットされるまでの時間(分) –reset-account-lockout-after=0~99999

パスワードの複雑さについて、ソースを解析している記事を発見。
▼Samba4 の パスワードポリシーの –complexity=on は、どんなパスワードを有効とするのか▼

Microsoftが言っている以下のことと大体一致している模様。

  1. パスワードには、ユーザーの samAccountName (アカウント名) 値または displayName 全体 ([氏名] の値) を含めることはできません。 どちらのチェックでも、大文字と小文字は区別されません。
  2. パスワードには、次の3つのカテゴリの文字が含まれています。
    • ヨーロッパ言語の大文字 (A ~ Z、発音区別符号、ギリシャ文字、キリル文字)
    • ヨーロッパ言語の小文字 (a ~ z、シャープ記号、ギリシャ文字、キリル文字)
    • 10桁の数字 (0 ~ 9)
    • 英数字以外の文字 (特殊文字): (~! @ # $% ^& * _-+ = ‘ | \ \ (){}\ []:; “‘<>,.?/) このポリシー設定では、ユーロや英国ポンドなどの通貨記号は特殊文字としてカウントされません。
    • アルファベット順に分類されているが、大文字でも小文字でもない Unicode 文字。 これには、アジア言語の Unicode 文字が含まれます。

 

パスワードポリシーの確認

現在のパスワードポリシーを表示する方法はこちら。
UnixPower on Networking / CentOS7 Samba4のパスワードポリシー

$ sudo samba-tool domain passwordsettings show
Password informations for domain 'DC=hogeserver,DC=hogeddns,DC=jp'

Password complexity: on
Store plaintext passwords: off
Password history length: 24
Minimum password length: 7
Minimum password age (days): 1
Maximum password age (days): 0
Account lockout duration (mins): 30
Account lockout threshold (attempts): 0
Reset account lockout after (mins): 30

 

 

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

パスワードに対するオレオレポリシーは世の中に比べて極端に低く、デフォルトの設定はレベルが高すぎて運用しづらいので設定を変えていく。

ポリシーの変更の仕方を確認し…

$ samba-tool domain passwordsettings set --help

 

ポリシーを変更。

$ sudo samba-tool domain passwordsettings set --history-length=0
$ sudo samba-tool domain passwordsettings set --min-pwd-length=8
$ sudo samba-tool domain passwordsettings set --min-pwd-age=0
$ sudo samba-tool domain passwordsettings set --max-pwd-age=0

 

変更した結果の確認。

$ sudo samba-tool domain passwordsettings show
Password informations for domain 'DC=hogeserver,DC=hogeddns,DC=jp'

Password complexity: on
Store plaintext passwords: off
Password history length: 0
Minimum password length: 8
Minimum password age (days): 0
Maximum password age (days): 0
Account lockout duration (mins): 30
Account lockout threshold (attempts): 0
Reset account lockout after (mins): 30

 

 

パスワードの変更

ユーザーとして

ユーザーとしてパスワード変更をするときはこのやり方。

$ samba-tool user password -U administrator
Password for [MYHOME\administrator]:[古いパスワード][Enter]
New Password:[新しいパスワード][Enter]
Retype Password:[新しいパスワード][Enter]
Changed password OK

 

ただし、
Password history length: 24
の設定のうちにパスワード変更をすると、履歴が残ってしまっているようでエラーが発生していた。

仕方がないので2回ほど適当にパスワードを変えてみたところその履歴が消えたようで、その後は履歴によるエラーは発生しなくなった。

管理者として

管理者としてユーザーのパスワードをリセットする場合には、以下が使える。

$ sudo samba-tool user setpassword administrator
New Password:[新しいパスワード][Enter]
Retype Password:[新しいパスワード][Enter]
Changed password OK

 

 

さいごに

パスワードポリシーの Password history length を変更して冒頭のエラーを回避しようとしたのに、設定を変えてもエラーが発生したので、もしかして何かを読み違えている?と思ってしまった。発生したエラーで探しても、設定項目名で探してもなかなか原因にたどり着けなかったので、設定項目をもう一回ちゃんと確認してみようと思ってまとめてみたけど…

世の中の皆さんは当たり前に使っていそうな情報だなぁ、これ。
本当の自分メモになってしまった。

 

 

お気軽にどうぞ ~ 投稿に関するご意見・感想・他

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です