Linuxのユーザーについて
LinuxはマルチユーザーOSなので、複数のユーザーが同じシステムを利用できます。各ユーザーには異なる権限や役割があり、それに基づいてアクセス制御が行われます。
ユーザーの種類
Linuxには大きく分けて 3種類 のユーザーが存在します。
root(スーパーユーザー)
- システム全体に対する管理者権限を持つ特別なユーザー。
- すべてのファイルやディレクトリに対して、読み書き・実行の権限がある。
一般ユーザー
- root以外のユーザーで、通常は制限された権限を持つ。
- 自分のホームディレクトリ(/home/ユーザー名)内のファイルやディレクトリを自由に操作できるが、システム全体の変更はできない。
- 必要に応じて sudo コマンドで管理者権限を一時的に使用できる(sudo の使用は管理者が設定)。
システムユーザー
- Linuxのサービスやプロセスが使用する特殊なユーザー。
- 例えば、apache(Webサーバー)、mysql(データベース)、nobody(最小権限のユーザー)などがある。
- /etc/passwd に記載されているが、通常ログインできない設定になっている。
/etc/passwd
/etc/passwd は、すべてのユーザーの情報を格納しているテキストファイルです。ユーザーがシステムにログインできるかどうか、どのシェルを使うかなどの基本情報が記載されています。
/etc/passwd の各行は、1人のユーザーの情報を表しており、以下のような形式になっています。
ユーザー名:パスワード:ユーザーID:グループID:コメント:ホームディレクトリ:ログインシェル
各フィールドの意味
フィールド | 説明 | 例(testuserの場合) |
---|---|---|
ユーザー名 | ログイン時に使用する名前 | testuser |
パスワード | x の場合、暗号化されたパスワードは /etc/shadow に格納 | x |
ユーザーID (UID) | ユーザーごとに一意のID(0はroot ) | 1000 |
グループID (GID) | プライマリグループのID(/etc/group に対応) | 1000 |
コメント | フルネームなどの説明 | testuser |
ホームディレクトリ | ユーザーの作業ディレクトリ | /home/testuser |
ログインシェル | ユーザーのデフォルトのシェル | /bin/bash |

/etc/shadow
/etc/shadow は、Linuxシステムのユーザーのパスワード情報を管理するファイルです。
このファイルには、暗号化されたパスワードやパスワードの有効期限などのセキュリティ関連の情報が記録されています。
/etc/passwd と異なり、/etc/shadow は root ユーザーのみが閲覧可能 です。
/etc/shadow のフォーマット
/etc/shadow の各行は、1人のユーザーの情報を表す レコードになっており、以下のような形式になっています。
ユーザー名:暗号化パスワード:最終変更日:最小日数:最大日数:警告日数:無効日数:有効期限:予約
フィールド | 説明 | 例 (testuserの場合) |
---|---|---|
ユーザー名 | /etc/passwd のユーザー名と一致 | testuser |
暗号化パスワード | 暗号化されたパスワード (x の代わりに保存) | $6$GtVJq55EwEjrq… |
最終変更日 | 1970-01-01 からの経過日数 | |
最小日数 | パスワード変更の最短日数(変更不可期間) | 0(制限なし) |
最大日数 | パスワードの有効期限(超過すると変更が必要) | 99999(無制限) |
警告日数 | 有効期限前の警告表示日数 | 7 |
無効日数 | 有効期限超過後、アカウント無効になる日数 | |
有効期限 | アカウントの有効期限(1970-01-01 からの日数) | 空欄または –1 (無制限) |
予約 | 現在は未使用(将来の拡張用) | 空欄 |

コメント