グループとは、ユーザを羅列したものです。 グループは、グループ名と GID で識別されます。 FreeBSD では、 あるプロセスが何かするのを許可するかどうかをカーネルが判断する際に、 プロセスの UID とそのユーザが所属するグループの一覧を利用します。 ほとんどの場合、ユーザもしくはプロセスの GID は一覧の最初のグループを指しています。
グループ名から GID への写像は
/etc/group
にあります。
これは、コロンで区切られた 4 項目からなるテキストファイルです。
1 番目の項目はグループ名、
2 番目は暗号化されたパスワード、
3 番目が GID、
4 番目がカンマで区切られたメンバの一覧です。
文法についての完全な説明は、group(5) をご覧ください。
スーパーユーザは、/etc/group
をテキストエディタで編集できます。
もしくは、pw(8) を使ってグループの追加や編集をできます。
たとえば、teamtwo
というグループを追加して、その存在を確認するには、
次のように使います。
この例では、1100
という番号は、
teamtwo
の GID です。
この時点では、teamtwo
にメンバはいません。
以下のコマンドは、
jru
を teamtwo
のメンバに追加します。
#
pw groupmod teamtwo -M jru
#
pw groupshow teamtwo
teamtwo:*:1100:jru-M
の引数は、
カンマで区切られた新しい (空の) グループに追加するもしくは存在するグループのメンバを置き換えるユーザの一覧です。
ユーザにとっては、このグループのメンバーシップはパスワードファイルに記載されているプライマリのグループとは異なります。
pw(8) の groupshow
コマンドを使った時は、
そのユーザはグループの一員として表示されませんが、id(1)
などのツールを使って情報を問い合わせれば、
その情報を引き出せます。ユーザをグループに追加をする際に、pw(8) は
/etc/group
しか扱わず、
/etc/passwd
から追加のデータを読んだりはしません。
この例では、-m
の引数は、
カンマで区切られたグループに追加するユーザの一覧です。
前の例と異なり、これらのユーザはグループ一覧に追加され、
グループのユーザ一覧を置き換えることはありません。
%
id jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)この例では、jru
は
jru
グループと
teamtwo
グループのメンバです。
このコマンドや /etc/group
のフォーマットの詳細については、
pw(8) および group(5) をご覧ください。
本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。
FreeBSD に関する質問がある場合には、
ドキュメント を読んだ上で
<questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、
<doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。