2026年6月3日
2026年6月3日
Linuxのアカウント有効期限を設定する方法
はじめに
Linuxサーバー上でユーザの有効期限を設定することで、セキュリティレベルを向上させることができます。特に重要なデータを扱っている場合や、定期的なユーザー管理が必要な状況では、この手法は非常に有用です。
症状・背景
- サーバー上のユーザが永続的にログインしてしまって、管理が困難になる場合。
- ユーザの有効期限を設定することで、定期的なリプレイスやパスワード強制変更が必要とされる。
- 新しい管理者が加わった際、そのユーザの有効期限を設定する必要がある。
手順・設定方法
ステップ1: 設定ファイルを開く
# vi /etc/shadow
上記コマンドで /etc/shadow ファイルを開きます。このファイルには各ユーザのパスワード情報が格納されています。
ステップ2: 有効期限を設定する
# /etc/shadow の内容を確認し、必要なユーザー名を検索します。
# ここでは "user1" というユーザについて説明します。
# user1:$6$random_hash_value$1234567890123456789012345678901234567890:19446:0:90:7:::
# 以降の番号は有効期限、無効期限、パスワード最長使用期間などの情報が含まれています。
# 有効期限を設定します。この例では "user1" のアカウントの有効期限を 90 日後に設定します。
passwd -x 90 user1
ステップ3: パスワード最長使用期間を設定
# /etc/login.defs を編集してパスワードの最長使用期間を設定します。
# この例では、パスワードの有効期限を 90 日に設定します。
# 最終行に以下を追加または変更します:
PASS_MAX_DAYS 90
ステップ4: 実践/トラブルシュート/監視
# 設定が正しく適用されていることを確認するために、以下のコマンドで有効期限を確認します。
chage -l user1
注意事項
/etc/shadowファイルは読み取り専用ではないので注意が必要です。誤操作により重要な情報を変更してしまう可能性があります。passwd -x 90 user1などのコマンドを使用すると、パスワードの最長使用期間を制限することができますが、この設定は/etc/login.defsの値によっても影響されます。- 有効期限が近づいているユーザについては、事前に通知することが重要です。
まとめ
1. ユーザーのアカウント有効期限を設定する: /etc/shadow ファイルや passwd -x コマンドを使用します。
2. パスワード最長使用期間を設定する: /etc/login.defs を編集します。
3. 確認と通知: 事前に有効期限の変更を通知することで、ユーザが適切に対応できるようにします。
関連記事: