/etc/shadow から日付を抽出する

/etc/shadow から日付を抽出する

ファイルには/etc/shadow、1970 年 1 月 1 日からの日数として表される日付フィールドがいくつかあります。ユーザーのリストと、パスワードの最終変更日と有効期限を取得する簡単な方法はありますか?

参照:男の影(5)

答え1

chage -l <username>

出力例:

Last password change                                    : Dec 17, 2015
Password expires                                        : Mar 16, 2016
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 7
Maximum number of days between password change          : 90
Number of days of warning before password expires       : 14

答え2

指定されたアカウントのパスワードステータスを報告するpasswd -S username

for user in $(cut -d: -f1 /etc/passwd); do sudo passwd -S $user; done

答え3

for n in $(sudo cat /etc/shadow | awk '{FS=":";print $3}'); do date -d "01/01/1970 +${n}days" +%F; done 

猫の無駄遣い賞を避けるために:

for n in $(sudo awk '{FS=":";print $3}' /etc/shadow); do date -d "01/01/1970 +${n}days" +%F; done 

答え4

これにより、各ユーザーのパスワード更新情報が出力されます。

/etc/passwd ファイルを読み取り >> 各ユーザーを解析 >> 各ユーザーに対して chage -l コマンドを実行します

for user in $(cut -d: -f1 /etc/passwd); do echo -e "\n $user \n" && chage -l $user; done

関連情報