私はubuntuやcentosなどの標準Linuxディストリビューションに接続されていない組み込みLinuxシステムを使用しています。システムは、systemd、busybox、Shadowなどの多くの標準的なFOSSソフトウェアパッケージを使用しています。システムのユーザーアカウントに初めてログインすると、デフォルトのログインパスワードを変更するように求められます。
システムがファイルシステムをアップグレードするときは、いくつかの情報を保持する必要があります。システムを更新するときにログインパスワードを維持したいのですが、これは問題ではありません。ただし、システムがアップグレードされると、システムはユーザーアカウントが「最初のログイン」であると判断し、ユーザーにパスワードを変更するように求めます。パスワードが変更されたという情報をシステムで維持したいと思います。
ユーザーがログインしてパスワードをリセットしたことをシステムに通知するために、システムのアップグレード中に維持および移動する必要があるシャドウまたはuseraddを含むLinuxプロファイルはありますか?
どんな情報やフィードバックでも役に立ちます。乾杯。
答え1
システムの詳細を知らない場合(「標準Linuxディストリビューションとは無関係」)、最も可能性の高い候補は/ etc / shadowの「パスワード変更」フィールドです。
ファイルの各行には、コロン( ":")で区切られた9つのフィールドが次の順序で含まれています。
- ログイン名
- 暗号化されたパスワード
- 最後のパスワード変更日
- 最小パスワード使用期間
- 最大パスワード使用期間
- パスワード警告期間
- パスワード非アクティブ期間
- アカウントの有効期限
私の前提は、アカウントを作成したときにこれらの値が尊重されていないことです(再び、これを行う方法を指定していません)。最も簡単な方法避けるこれは、「chage」コマンドを使用して、アカウントが最初のログイン時にパスワードを変更するように設定されていないことを確認するためのものです(chage -E-1 $username
およびchage -I-1 $username
)。
詳細については、man chage
システムパラメータに関する追加情報を提供しています。