FreeBSD ハンドブック
前のページ | 第 14章ユーザと基本的なアカウントの管理 | 次のページ

# 14.8. グループ

グループとは、単にユーザを羅列したものです。 グループは、グループ名と GID (グループ ID) で識別されます。 FreeBSD (と他の UNIX® システムのほとんど) では、 あるプロセスが何かするのを許可するかどうかをカーネルが判断する際に利用する 2 つの因子は、ユーザ ID とそのユーザが所属するグループの一覧です。 ユーザ ID と異なり、プロセスはそのプロセスに関係付けられたグループの一覧を持ちます。 どこかで “グループ ID” に触れているのを聞くことがあるでしょうが、 ほとんどの場合は、これは単に一覧の最初のグループを指しています。

グループ名からグループ ID への写像は `/etc/group` にあります。 これは、コロンで区切られた 4 項目からなるテキストファイルです。 1 番目の項目はグループ名、 2 番目は暗号化されたパスワード、 3 番目がグループ ID、 4 番目がカンマで区切られたメンバの一覧です。 これは手で編集して問題ありません (もちろん、文法をまったく間違えない限りはですが)。 文法についての完全な説明は、group(5) をご覧ください。

`/etc/group` を手で編集したくなければ、 pw(8) コマンドを使ってグループの追加や編集をできます。 たとえば、`teamtwo` というグループを追加して、その存在を確認するには、 次のように使えばできます。

例 14-7. pw(8) によるグループの追加

    # pw groupadd teamtwo
    # pw groupshow teamtwo
    teamtwo:*:1100:

上記の `1100` という番号は、 `teamtwo` グループのグループ ID です。 この時点では、`teamtwo` にはメンバがおらず、あまり意味がありません。 `jru` を `teamtwo` に参加させて、この状況を変えましょう。

例 14-8. pw(8) によるグループメンバ一覧の設定

    # pw groupmod teamtwo -M jru
    # pw groupshow teamtwo
    teamtwo:*:1100:jru

`-M` オプションの引数は、 カンマで区切られたグループに所属するユーザの一覧です。 前の節から、 パスワードファイルに各ユーザのグループが記載されていることがわかります。 前者 (ユーザ) は、システムが自動的にグループ一覧に追加します。 pw(8) の `groupshow` コマンドを使った時は、 そのユーザはグループの一員として表示されませんが、id(1) などのツールを使って情報を問い合わせれば、 その情報を引き出せます。つまり、pw(8) は `/etc/group` しか扱わず、 `/etc/passwd` のデータを読んだりはしません。

例 14-9. pw(8) によるグループへのユーザ追加

    # pw groupmod teamtwo -m db
    # pw groupshow teamtwo
    teamtwo:*:1100:jru,db

`-m` オプションの引数は、 カンマで区切られたグループに追加するユーザの一覧です。 前の例と異なり、これらのユーザはグループに追加され、 グループのユーザ一覧を置き換えることはありません。

例 14-10. グループに所属しているユーザを調べるための id(1) の使い方

    % id jru
    uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)

見れば分かりますが、`jru` は `jru` グループと `teamtwo` グループのメンバです。

pw(8) について詳しくはマニュアルページをご覧ください。 `/etc/group` のフォーマットの詳細については、 group(5) マニュアルページをご覧ください。

前のページ | ホーム | 次のページ
ユーザへの制限 | 上に戻る | セキュリティ

本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、<doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。