これを前置きさせてみましょう。私は[〜#〜] not [〜#〜] rootアクセスを利用可能にします。
パスワードの有効期限が近づいていて経過したことを知らなかったため、最近アカウントからロックアウトされました。起動スクリプトに時間をチェックして表示するチェックを追加して、時間が近づいていることを確認します。
ユーザーのパスワードが期限切れになるときにタイムスタンプを取得するコマンドまたは方法はありますか?
chage
ユーティリティからその情報を取得できるはずです。 rootをリストモードで実行する必要はありません。
注:これはほとんどの場合、ローカルのpasswd
ベースの認証でのみ機能します。ログイン情報をpasswd
/shadow
ファイルに入れない認証モードで動作させることができるかどうかはわかりません。これらのソリューションは独自のツールを提供していると思いますが、それらについては知りません。
$ chage -l test
Last password change : Apr 17, 2012
Password expires : Apr 27, 2012
Password inactive : never
Account expires : May 20, 2012
Minimum number of days between password change : 0
Maximum number of days between password change : 10
Number of days of warning before password expires : 7
私はこれをクイックawkで使用して、ログイン時にパスワードの有効期限を表示しました。
LDAPでは次のようにします。
ldapsearch -x -Z uid=$1 pwdChangedTime | \
grep -vE '^#|^$' | grep pwdChangedTime | awk '{print $2}'
chage
から、複数の変更を行うことができ、次のようにログインの詳細を知ることができます...
Usage: chage [options] [LOGIN]
Options:
-d, --lastday LAST_DAY set date of last password change to LAST_DAY
-E, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-h, --help display this help message and exit
-I, --inactive INACTIVE set password inactive after expiration
to INACTIVE
-l, --list show account aging information
-m, --mindays MIN_DAYS set minimum number of days before password
change to MIN_DAYS
-M, --maxdays MAX_DAYS set maximim number of days before password
change to MAX_DAYS
-W, --warndays WARN_DAYS set expiration warning days to WARN_DAYS
ルートアクセス権がある場合は、パスワードの有効期限を変更できます。編集するだけです。
vim /etc/login.defs
以下のvlauesを設定してください...
PASS_MAX_DAYS 30
PASS_MIN_DAYS 1
PASS_WARN_AGE 7
それはあなたを助けるかもしれません