こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

group ファイルの中身

http://oshiete1.goo.ne.jp/kotaeru.php3?q=810092
の質問と似ているのですが、多少趣旨が違うので別途質問を立ててみました。

Red Hat 7.3 にてサーバを立てているのですが、ユーザの追加は
newusers コマンドで行っています。ユーザの入れ替わりも多く、
週に2~3人は追加・削除を行っています。ユーザを追加した時には
passwd およびshadow ファイルのみを確認していたのですが、
本日たまたまgroup ファイルを覗いてみると、group ファイル中の
ユーザ数と実際のユーザ数が異なっていました。1つのグループに
1500人程度登録しているはずなのですが、group ファイルの中には
600人程度しか入っていません。

そこで質問なのですが、group ファイルの中身はユーザ名を追加しなくてもよいのでしょうか?
或いは、1つのグループ中に登録できるユーザの最大数って決まっているのでしょうか?
ちなみに、passwd・shadow 両ファイル共ちゃんとgidは入っています。

投稿日時 - 2006-06-05 18:17:31

QNo.2197285

困ってます

質問者が選んだベストアンサー

複数のグループに所属する必要のあるユーザだけ、/etc/groupに書けばいいです。
1グループに所属できるユーザ数にカーネルレベルの制限はないと思いますが、/etc/groupの1行のバイト数に最大値はあるかもしれません。

それと、1ユーザが所属できるグループ数にも制限があります。RedHat7.3がどうなのかは知りませんが、8とか16とかだとおもいます。

投稿日時 - 2006-06-05 23:37:48

お礼

ご回答ありがとうございます。
下のお礼の欄にも書きましたが、newusers コマンドを使うと
勝手にgroup ファイルにユーザ名を追記しちゃうのですが、
複数のグループに所属していなければユーザ名を
group ファイルから消してしまえばいいという事ですかね。

投稿日時 - 2006-06-06 09:39:10

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

各ユーザは、1つの主グループと複数のサブグループに属することができます。

主グループはプログラムを起動したり、ファイルやディレクトリを作成するときのデフォルトのグループであり、 /etc/passwd ファイルの 該当ユーザ行、第4列目にグループIDとして記述されています。

一方、サブグループは /etc/group ファイルに属するグループ行、第4列目にそのユーザIDが記述されています。

主グループは useradd や usermod コマンドの -g オプションで指定することができ、サブグループは -G オプションで指定することができます。

(ex.)
# groupadd -g 500 oinstall
# groupadd -g 501 dba
# groupadd -g 502 oper
# useradd -u 500 -g 500 -G dba,oper oracle

これは、oracle をインストールするときに作成するユーザとグループの作成例であり、このようにユーザ oracle を作成した場合、oracle ユーザの主グループは oinstall、サブグループは dba と oper になります。

ちなみに、/etc/password、/etc/group ファイルは、以下のようになります。

[ /etc/password ]
oracle:x:500:500:oracle:/home/oracle:/bin/bash

[ /etc/group ]
oinstall:x:500:
dba:x:501:oracle
oper:x:502:oracle

投稿日時 - 2006-06-05 20:58:13

お礼

ご回答ありがとうございます。
つまり、主グループのみに所属したユーザの場合は、
group ファイルにはユーザ名は記述しないという
認識でよいのですね。
newusers コマンドを使うと勝手に追記しちゃうのですが、
そもそもそれが間違いってことなんですかね?

投稿日時 - 2006-06-06 09:31:50

あなたにオススメの質問