Linuxユーザーの有効期限の変更

2624 ワード

chageコマンドとは?
chageは時効change ageの変更を表します.ユーザーパスワードの有効期限情報を変更します.
chageコマンドでは、2回のパスワード変更の間の日数と、最後にパスワードを変更した日付を変更できます.
この情報を使用して、ユーザーがパスワードを変更するタイミングを決定します.
また、ユーザーは、アカウントの有効期限を設定したり、有効期限が切れた後にパスワードを無効に設定したり、アカウントの時効情報を表示したり、パスワードの変更前の最小日数と最大日数を設定したり、有効期限の警告日数を設定したりするなど、他の機能を実行できます.
1)Linuxで特定のユーザーのパスワードの有効期限をチェックする方法
Linux上の特定のユーザーのパスワードの有効期限を確認する場合は、次のコマンドを使用します.
# chage -l daygeek

Last password change : Feb 13, 2020Password expires : May 13, 2020Password inactive : neverAccount expires : neverMinimum number of days between password change : 7Maximum number of days between password change : 90Number of days of warning before password expires : 7
2)Linuxですべてのユーザーのパスワードの有効期限をチェックする方法
単一のユーザーに対して直接chageコマンドを使用できますが、複数のユーザーに対して無効な場合があります.
そのためには、小さなshellスクリプトを作成する必要があります.次のshellスクリプトは、システム・ユーザーを含むシステムに追加されたすべてのユーザーをリストできます.
#for user in $(cat /etc/passwd |cut -d: -f1); do echo $user; chage -l $user | grep "Password expires"; done | paste -d " "  - - | sed 's/Password expires//g'

以下のような出力が得られますが、ユーザー名が異なる場合があります.
root : neverbin : neverdaemon : neveradm : neverlp : neversync : nevershutdown : neveru1 : Nov 12, 2018u2 : Jun 17, 2019u3 : Jun 17, 2019u4 : Jun 17, 2019u5 : Jun 17, 2019
3)Linux上除システム用屋外のすべてのユーザーのパスワード有効期間をどのようにチェックするか
次のshellスクリプトには、有効期限のあるユーザーのリストが表示されます.

#for user in $(cat /etc/passwd |cut -d: -f1); do echo $user; chage -l $user | grep "Password expires"; done | paste -d " "  - - | sed 's/Password expires//g' | grep -v "never"

以下のような出力が得られますが、ユーザー名が異なる場合があります.
u1 : Nov 12, 2018u2 : Jun 17, 2019u3 : Jun 17, 2019u4 : Jun 17, 2019u5 : Jun 17, 2019
その他:passwdコマンドでユーザーの有効期限を変更する方法Linuxユーザーshellを安全に変更する方法ユーザーの削除時にLinuxが削除するファイルLinuxユーザーの管理方法