1.概要
linuxは複数のユーザーやグループが利用するマルチユーザー環境のため、ユーザーやグループの権限管理が重要になってくる。ここでは、ユーザーとグループについて解説する。
2.用語
(1)ユーザー
①一般ユーザー
通常の作業用アカウント。システム設定に影響を与えない範囲で操作できる。
②スーパーユーザー(rootユーザー)
システム管理用アカウント。すべての権限を持つ。通常は使わない。
(2)グループ
ユーザーをまとめて管理する単位。ファイルの共有などで便利。
3.制約
ユーザーは必ず1つ以上のグループに所属する必要があり、所属必須のグループを「プライマリグループ」、それ以外を「サブグループ」と呼ぶ。
4.ユーザー・グループの管理ファイル
(1)ユーザー管理ファイル
ユーザーの一覧は下記ファイルで管理されており、誰でも参照できる。
中身はユーザーごとに1行で情報がまとまっている。
「/etc/passwd」
ファイル内構成
passwdファイルをコマンド「less」等で確認すると下記のような情報が入っている。
ユーザー名:パスワードフィールド:UID:GID:コメント:ホームディレクトリ:ログインシェル
例)testuser:x:1001:1001:テストユーザー:/home/testuser:/bin/bash
項目 | 説明 |
---|---|
ユーザー名 | アカウント名(ログイン時に使う) |
パスワードフィールド | かつては暗号化パスワードが入っていたが、今はx (シャドウ化) |
UID | ユーザーID(数字) |
GID | プライマリグループID |
コメント(GECOS) | 本名や連絡先などの説明(空の場合も) |
ホームディレクトリ | ログイン後に移動するディレクトリ |
ログインシェル | ユーザーが使うシェル(例:/bin/bash ) |
(2)グループ管理ファイル
グループの一覧は下記ファイルで管理されており、誰でも参照できる。
中身は1行につき1グループの情報が入っている。
「/etc/group」
ファイル内構成
groupファイルをコマンド「less」等で確認すると下記のような情報が入っている。
グループ名:パスワードフィールド:GID:メンバー
例)developers:x:1002:alice,bob
項目 | 説明 |
---|---|
グループ名 | グループの名前(例: developers, users) |
パスワードフィールド | グループパスワード(通常は x または空欄) |
GID | グループID(数字) |
メンバー | カンマ区切りで補助グループに入っているユーザー名(省略可) |