/adm/users
を見れば分る。このファイルは
num:name:leader:members
の形式で書かれている。
例えば、
のような行があればユーザaliceはグループaliceのリーダであり、グループaliceにはalice以外のメンバはいない。
1:alice:alice
また
となっていればグループaliceには alice と bob と carol が属している。
1:alice:bob:bob,carol
1:alice::bob,carol
となっていれば、この場合はグループリーダーがいないのではなく、bobもcarolも等しくグループリーダとしての権限を発揮できる。
グループリーダはアクセス権を変更できるのだからファイルの死命を制することになる。aliceが自分のファイルを守る必要があるなら
としなければならないだろう。
1:alice:alice:bob,carol
/adm/users
を覗いてみると、グループリーダにユーザ名が指定していないユーザが存在するが、いずれも通常の意味でのユーザではない。
さてエンドユーザの立場からすると、現実社会の組織の階層性を反映した、SEの世話によらない、エンドユーザ主導のグループ編成を可能にして欲しいのである。
UNIXのグループはエンドユーザにとって殆ど役に立っていない。Plan9においてはユーザは少なくとも1個の固有のグループを持ち、いくらか改善はされている。しかしながら、その固有のグループにメンバを追加するコマンドが準備されているわけではない。(そのようなコマンドを作ろうと思えば、カーネルの改造なしに可能であろう。)
Plan9はUNIXファイルシステムとの互換性を重視した。そしてその範囲内で、現実的なレベルで新たなグループ編成の考え方を打ち出したのであある。
Plan9で想定されているグループ編成は例えば、
のようなものである。staffはユーザ名と言うより実際には単なるグループ名であり、そのリーダはbobで、全権を任せられているのである。(bobはメンバを決定する権限を持つべきである。)
20001:staff:bob:alice,bob,carol
以上のように考えると/adm/users
はユーザを記述しているファイルと言うより、グループを記述しているファイルであると言える。ユーザ管理とグループ管理との間に本質的な区別は不要であるとの主張であろう。