ユーザーの最後のパスワードを変更する[閉じる]

ユーザーの最後のパスワードを変更する[閉じる]

私は現在、UNIXシステムでユーザーの最後のパスワード変更を表示するコマンドを見つけようとしています。

passwd -Saコマンドを実行してみたところ、00/00/0000形式のパスワード変更日が表示されました。しかし、私はこのコマンドを最後に使用した日付だけをリストしたいと思います。 grepにコマンドをパイプしてみましたが、構文が正しくないようです。

このコマンドの結果の日付出力を探しています。

現在試行されているコマンド:

grep $USER | passwd -Sa

私のエラーを助けてくれてありがとう!

ベストアンサー1

より多くの情報を提供していただければ、より良い回答を得ることができます。しかし、OpenSUSEで私が見たのは

passwd -S -a

次のように、各項目の履歴を提供します/etc/passwd

thomas PS 03/01/2013 0 99999 7 -1

したがって、awkでフィルタリングできます。

passwd -S -a | awk -v user=$USER '{ if ( $1 == user ) { printf  "%s\n",  $3; } }'

ただし、passwdコマンドはとして実行されると予想されるため、rootスクリプトは$USER変数を使用するよりもエレガントな操作を実行する必要があります(例:現在のユーザー)。その理由は、root公開されていない内容を読んでいるからです。/etc/shadow

使用できるchage、別のレポートが表示されますが、すばやく確認すると、ユーザーのパスワードを求めるメッセージが表示されます(おそらく望むものではないかもしれません)。

プログラムchageを使用するには、シャドウパスワードファイルが必要です。

このchageコマンドは次のように制限されます。-l 権限のないユーザーが自分のパスワードまたはアカウントの期限が切れるタイミングを決定するために使用できるこのオプションは除外されます。

追加資料:

おすすめ記事