Linuxユーザー情報の確認方法
/etc/passwd ファイルの確認
Linuxシステム上に登録されているすべてのユーザーアカウント情報は、/etc/passwdファイルに保存されています。このファイルには、通常のユーザーだけでなく、システムサービス用のユーザー(UIDが1から499の範囲のもの)も含まれます。
各ユーザーは1行で表現され、コロン(:)で区切られた7つのフィールドで構成されています。
- ユーザー名
- パスワード(通常は 'x' で、実際のパスワードは /etc/shadow に保存されます)
- ユーザーID (UID)
- プライマリグループID (GID)
- コメント(GECOSフィールド)
- ホームディレクトリのパス
- ログインシェルのパス
以下は、cat /etc/passwdコマンドを実行した際のサンプル出力です。ユーザー名やUIDを変更しています。
user1:x:1000:1000:User One:/home/user1:/bin/bash
user2:x:1001:1001:User Two:/home/user2:/sbin/nologin
service_user:x:200:200:Service Account:/var/service:/sbin/nologin
db_user:x:201:201:Database User:/var/lib/mysql:/sbin/nologin
web_user:x:202:202:Web Server User:/var/www:/sbin/nologin
/etc/shadow ファイルの確認
ユーザーの暗号化されたパスワードは、より安全な/etc/shadowファイルに保存されています。このファイルは、rootユーザーのみが閲覧可能です。このファイルは、アカウントの有効期限やロック状態などの情報も含んでいます。
各ユーザーは1行で表現され、コロン(:)で区切られた9つのフィールドで構成されています。特に重要なのは、最初の2つのフィールドです。
- ユーザー名(/etc/passwd のユーザー名と一致)
- 暗号化されたパスワード。以下の特殊文字はアカウントの状態を示します。
!!または!:アカウントがロックされているか、パスワードが設定されていない。*:アカウントが無効化されている。
以下は、cat /etc/shadowコマンドを実行した際のサンプル出力です。上記の/etc/passwdの例に対応する情報を示しています。
user1:$6$randomsalt$encryptedpassword:18584:0:99999:7:::
user2:!!:18584:0:99999:7:::
service_user:*:18584:0:99999:7:::
db_user:!!:18584:0:99999:7:::
web_user:$6$anothersalt$anotherencryptedpassword:18585:0:99999:7:::