
まず最初に言っておきたいのは、私はないルートアクセスが利用可能であること。
最近、パスワードの有効期限が近づいていることを知らずに、期限が切れたためにアカウントがロックアウトされました。期限が近づいていることが分かるように、時間をチェックして表示するチェックを起動スクリプトに追加したいと思います。
ユーザーパスワードの有効期限が切れるタイムスタンプを取得するコマンドまたは方法はありますか?
答え1
その情報はユーティリティから取得できるはずです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 で使用して、ログイン時にパスワードの有効期限を表示しました。
答え2
ldap では次のような操作を行います。
ldapsearch -x -Z uid=$1 pwdChangedTime | \
grep -vE '^#|^$' | grep pwdChangedTime | awk '{print $2}'
答え3
次のように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
以下の値を設定するだけです...
PASS_MAX_DAYS 30
PASS_MIN_DAYS 1
PASS_WARN_AGE 7
役に立つかもしれない