次の例は、パスワードの問題をデバッグする方法を示しています。背景情報については、passwd(1) および user_attr(5) のマニュアルページを参照してください。
使用例 83 openldap システムアカウントを使用した cron ジョブの実行この例では、管理者は から提供されているシステムアカウントのパスワード文字列を *LK* から NP に変更しています。このアカウントは、openldap ユーザーのみにロックダウンされている UNIX ドメインソケットを介して、外部データソースを使用してディレクトリ内のデータを定期的に更新する cron ジョブを実行します。
最初は openldap アカウントはロックされています。パスワードがロックされた時間は 12111 です。
# grep openldap /etc/shadow openldap:*LK*:12111:::::: # passwd -N openldap WARNING: changing account in reserved uid range: openldap. passwd: password information changed for openldap
–N は、パスワードエントリを、UNIX 認証でのログインに使用できない値にします。
# passwd -u openldap WARNING: changing account in reserved uid range: openldap. passwd: password information changed for openldap
–u オプションはアカウントをロック解除します。アカウントは非 UNIX の認証アカウントのままです。
# grep openldap /etc/shadow openldap:NP:13222::::::
最後のエントリでは、openldap という非 UNIX 認証アカウントのパスワードはありません。アカウントはロックダウンされた UNIX ドメインソケットによって保護されます。
使用例 84 ユーザーのパスワードを必要とする役割の作成この例では、sudo ユーザーが構成される方法に似た、ユーザーのパスワードを使用して認証される管理アカウントを構成する方法を示します。root 役割で、ユーザーおよび役割を作成し、役割をユーザーパスワードが必要な役割にして、役割をユーザーに割り当てます。
# useradd [ ... ] jdoe # roleadd [ ... ] administrator # rolemod -K roleauth=user administrator # usermod -K type=role administrator jdoe使用例 85 アカウントのパスワード要件のオーバーライド
この例で、root 役割はパスワードを数回変更し、パスワード制約をオーバーライドします。
# passwd -n 14 -x 25 user1
/etc/shadow エントリは次のようになります。
user1:$5$Cuz1WCgx$4CFN...:last-changed-date:14:25::::
root 役割の管理者はパスワードを同じ日に数回変更できます。
# passwd user1 Enter user1's password: password # grep user1 /etc/shadow user1:$5$Cuz1WCgx$4CFN...:11333:14:25:::: # passwd user1 Enter user1's password: password user1:$5$Cuz1WCgx$4CFN...:11444:14:25::::
root 役割は solaris.passwd.assign 承認を持つため、root は、次のパスワード変更までの最低日数が 14 日 (-n 14)、最大日数が 25 日 (-x 25) というパスワードの制約をオーバーライドできます。solaris.passwd.assign 承認を持たない user1 は、割り当てられたパスワードを最低 2 週間は変更できません。次に示すように、ユーザーは別のユーザーのパスワードを変更することもできません。
$ passwd user2 Enter user1's password: password Permission denied: Missing authorization: solaris.passwd.assign