dポイントプレゼントキャンペーン実施中!

Linux初心者です。
ユーザーが所属しているグループについて教えて下さいm(__)m。
ユーザー「nakamura」の所属グループを確認するのに以下のコマンドを打ちました。

----------------------------------------------------------------

1.
<<コマンド>>
cat /etc/group

<<結果>>
syomu:x:200:
eigyo:x:300:nakamura

2.
<<コマンド>>
id nakamura

<<結果>>
uid=501(nakamura) gid=200(syomu) 所属グループ=200(syomu), 300(eigyo) context=user_u:system_r:unconfined_t
----------------------------------------------------------------


以上の情報よりユーザー「nakamura」が所属するグループは、
「eigyo(300)」になるのでしょうか。
それとも
「syomu(200)」「eigyo(300)」になるのでしょうか?

宜しくお願い致します。

A 回答 (3件)

「syomu(200)」「eigyo(300)」になります。



ただ、グループには一次グループと二次グループというものがあって、
syomu (200) は一次グループ、eigyo (300) は二次グループです。

一次グループとはログイン直後に属しているグループです。
・ユーザは必ずどれか1つの一次グループに属しています。
・ユーザは二次グループに属していなくても構いませんし、
1つもしくは複数の二次グループに属することもできます。

ですから、ログイン直後にファイルを作成した場合、

$ touch test
$ ls -al test
-rw-r--r-- 1 nakamura syomu 0 1月 15日 11:13 test

二次グループとはそれ以外のグループで、chgrpコマンドでそのグループに変更できます。

$ chgrp eigyo
$ touch test
$ ls -al test
-rw-r--r-- 1 nakamura eigyo 0 1月 15日 11:13 test

また、nakamuraユーザは syomu グループにも eigyo グループにも属して
いるので、以下の両方のファイルを参照することができます。

-rw-r----- 1 root syomu 0 1月 15日 11:13 test1
-rw-r----- 1 root eigyo 0 1月 15日 11:13 test2

一次グループは /etc/passwd の 4 列目に、属するグループのグループID
が書かれています。二次グループは /etc/group の 4 列目にそのグループ
に属するユーザ名がカンマ区切りで書かれています。

id コマンドのグループに関する部分の解釈は以下の通りです。

gid=200(syomu):一次グループ
所属グループ=200(syomu), 300(eigyo):一次グループと二次グループをマージしたもの
    • good
    • 0
この回答へのお礼

所属グループについて、もやもやした感じがすっきり出来、
非常に理解が出来ました。
どうもありがとうございました。

お礼日時:2010/01/17 13:47

グループという仕組みを理解されていないように見えます。


所属するグループが一つと考えられているのではありませんか?

UNIX系OSでのグループという概念は
権限を割り当てる際に、複数の要素を、複数のユーザーに与えるために
グループに対して権限を与え
グループに所属したユーザーがその権限の対象になるという仕組みです。

ですから、複数のグループに加わっていることが一般的です。

いわば、銀行のカードもスポーツクラブのカードも
TUTAYAのカードも持っているような感じです。
要するに、OS内の権限管理とは、すべてが会員制になっているようなものなのです。
    • good
    • 0
この回答へのお礼

ご返答、ありがとうございます。

お礼日時:2010/01/17 13:53

uid=501:nakamuraのgidが200:syomuなので、syomuに所属します。


またgroup内で明示的にeigyoグループに追加されているので
eigyoにも所属します。

この場合nakamuraがファイルをtouchしたりするとsyomu属性がつきます。
またnakamuraはeigyoグループ属性のパーミッションが有効です

vi /etc/passwd

chsh nakamura

なども参考にしてみてください
    • good
    • 0
この回答へのお礼

ご返答頂き、ありがとうございました。

お礼日時:2010/01/17 13:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!