このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Linux】ユーザーとグループのシステムファイル

 Linuxシステムでは、ユーザーとグループの管理が重要です。これらの情報は特定のシステムファイルに保存され、ユーザー認証やアクセス制御に利用されます。主要なファイルとしては、「/etc/passwd」と「/etc/group」があり、それぞれユーザーとグループに関する情報を格納しています。

/etc/passwdファイルについて

 「/etc/passwd」ファイルは、Linuxシステム上のすべてのユーザーアカウント情報を格納するテキストファイルです。各ユーザーの基本情報が含まれ、システムがユーザーを認識し、適切な権限を付与するために使用されます。

内容と書式

 「/etc/passwd」ファイルは、各ユーザーアカウントを1行で表現し、各フィールドはコロン (:) で区切られています。以下に、各フィールドの以下のとおりです。

/etc/passwdファイルの書式

  • ①ユーザー名: システム上でユーザーを識別する名前。
  • ②パスワード: 実際のパスワードはセキュリティ上の理由からここには保存されず、代わりに x が使われ、実際のパスワードは 「/etc/shadow」ファイルに保存されます。
  • ③ユーザーID (UID): ユーザーを一意に識別する数値ID。
  • ④グループID (GID): ユーザーが所属するプライマリグループの数値ID。
  • ⑤コメントフィールド: ユーザーのフルネームやその他の情報を含むフィールド。
  • ⑥ホームディレクトリ: ユーザーのホームディレクトリのパス。
  • ⑦ログインシェル: ユーザーのデフォルトログインシェル。

/etc/passwdファイルの例

以下は /etc/passwd ファイルの例です。

user01:x:1001:1001:User One:/home/user01:/bin/bash
yamada:x:1002:1002:Yamada Taro:/home/yamada:/bin/bash

/etc/groupファイルについて

 「/etc/group」ファイルは、Linuxシステム上のすべてのグループ情報を格納するテキストファイルです。グループは、複数のユーザーをまとめて管理し、ファイルやディレクトリへのアクセス権を制御するために使用されます。

内容と書式

 「/etc/group」ファイルは、各グループを1行で表現し、各フィールドはコロン (:) で区切られています。以下に、各フィールドの詳細は以下のとおりです。

  • ①グループ名: グループを識別する名前。
  • ②パスワード: グループパスワード(現在は通常使用されない)。
  • ③グループID (GID): グループを一意に識別する数値ID。
  • ④グループメンバー: グループに属するユーザー名のカンマ区切りリスト。

/etc/groupファイルの例

以下は「/etc/group」ファイルの例です。

user01:x:1001:user01
yamada:x:1002:yamada
staff:x:2000:user01,yamada

「/etc/passwd」と「/etc/group」の確認

/etc/passwd」ファイルと「/etc/group」ファイルを確認します。

/etc/passwd」ファイルの確認

・「cat /etc/passwd」コマンドを実行します。

/etc/passwd」ファイルの内容が確認できます。

user01@ubuntu-vm:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
(省略)
user01:x:1000:1000:user01,,,:/home/user01:/bin/bash
vboxadd:x:999:1::/var/run/vboxadd:/bin/false

/etc/group」ファイルの確認

・「cat /etc/group」コマンドを実行します。

/etc/group」ファイルの内容が確認できます。

user01@ubuntu-vm:~$ cat /etc/group
root:x:0:
daemon:x:1:
(省略)
user01:x:1000:
sambashare:x:136:user01
vboxsf:x:999:
vboxdrmipc:x:998:
plocate:x:137:

まとめ

  • /etc/passwd: 各ユーザーの基本情報を含むファイルで、ユーザー認証とアクセス制御に使用されます。
  • /etc/group: 各グループの基本情報を含むファイルで、複数のユーザーをまとめて管理し、アクセス権限を制御します。

 これらのファイルは、Linuxシステムのユーザー管理とセキュリティにおいて不可欠な役割を果たしています。