web-dev-qa-db-ja.com

パスワードの有効期限を取得する

これを前置きさせてみましょう。私は[〜#〜] not [〜#〜] rootアクセスを利用可能にします。

パスワードの有効期限が近づいていて経過したことを知らなかったため、最近アカウントからロックアウトされました。起動スクリプトに時間をチェックして表示するチェックを追加して、時間が近づいていることを確認します。

ユーザーのパスワードが期限切れになるときにタイムスタンプを取得するコマンドまたは方法はありますか?

16
steveo225

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で使用して、ログイン時にパスワードの有効期限を表示しました。

16
Mat

LDAPでは次のようにします。

ldapsearch -x -Z  uid=$1 pwdChangedTime | \
          grep -vE '^#|^$' | grep pwdChangedTime | awk '{print $2}'
3
maikcat

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

それはあなたを助けるかもしれません