Linuxユーザーシステムのグループとグループ管理者の詳細
# /etc/group
コードのコピー
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
1. グループ名:グループ名です!
2. グループパスワード:通常は設定する必要はありません。グループへのログインはめったにありませんから。でも、同じように、パスワードも/etc/gshadowに記録されていますよ!
3. GID:グループIDですね~
4. 支援するアカウント名:このグループに参加するすべてのアカウントは、1人の使用者が複数のグループに参加できることを知っています。例えば、dmtsaiもrootというグループに参加させたい場合は、1行目の一番後ろに「,dmtsai」を付けて、スペースがないように注意して「root:x:0:root,dmtsai」にすればいいのですね~重要な特徴は第4欄です。利用者一人一人が複数の支援グループを持つことができるので、学校で勉強しているときに、私たちが複数のサークルに参加できるようになります!^^。しかし、ここでは「もし私が複数のグループに同時に参加したら、私が宿題をしている間に、いったいそのグループを基準にしているのか」と不思議に思うかもしれません。次に、この「有効なグループ」の概念についてお話しします。
#有効グループ(effective group)と初期グループ(initial group)
コードのコピー
[root@linux ~]# grep dmtsai /etc/passwd /etc/group /etc/gshadow /etc/passwd:dmtsai:x:501:501::/home/dmtsai:/bin/bash
/etc/group:users:x:100:dmtsai
/etc/group:dmtsai:x:501:
/etc/gshadow:users:::dmtsai
/etc/gshadow:dmtsai:!::
しかし、initialグループではない他のグループは違います。上記の例を挙げると、dmtsaiをusersというグループに追加します。usersというグループはdmtsaiの初期グループではないので、/etc/groupというファイルの中で、usersの行を見つけ、dmtsaiというアカウントを4番目の欄に追加しなければなりません。このようなdmtsaiはusersというグループを支援することができます。
では、この例では、私のdmtsaiというアカウントはdmtsaiとusersの2つのグループを同時に支援しているので、ファイルの読み取り/書き込み/実行時に、グループ部分に対して、usersとdmtsaiの2つのグループが持つ機能であれば、私のdmtsaiというユーザーは持つことができますよ!こうなったのか?しかし、これはすでに存在するファイルに対して、もし今日私が新しいファイルや新しいディレクトリを構築するならば、新しいファイルのグループはdmtsaiですか、それともusersですか。ほほほ!これは当時の有効グループ(effectiveグループ)をチェックしなければなりません。コードのコピー
[dmtsai@linux ~]$ groups
dmtsai users
コードのコピー [dmtsai@linux ~]$ newgrp users [dmtsai@linux ~]$ groups
users dmtsai
さらにnewgrpという命令について議論します。この命令は現在の使用者の有効なグループを変更することができ、別のshellでログインを提供することができますよ。だから、上記の例では、dmtsaiという使用者は現在別のshellでログインしており、新しいshellはdmtsaiに有効なGIDをusersとして与えています。「newgrp groupname」を直接実行すると、利用者の有効グループがgroupnameとなり、この場合、利用者の環境設定(例えば環境変数などの他の資料)は影響しないが、利用者の「権限」は再計算される。例えば、dmtsaiがこのとき確立する新しいアーカイブグループはusersである〜
鳥兄のこの例では、dmtsaiという使用者はもともとusersとdmtsaiの2つのグループに属しているので、newgrpを直接使用して有効なグループを切り替えることができ、新しい有効なグループを離れる場合は「exit」を入力すればよいことに注意してください。私のLinuxシステムにvbirdという別のグループがあるとしたら、dmtsaiはvbirdというグループに登録できますか?いくつかの前提で可能です。
*vbirdというグループは/etc/gshadowのパスワードバーで合法的です(持たない!冒頭!);
*dmtsaiは、rootまたはグループ管理者(group administrator)をvbirdグループに追加する必要があります。
コードのコピー