• ベストアンサー

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は入っています。

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

  • ベストアンサー
  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.2

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

yoichi0726
質問者

お礼

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

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • entree
  • ベストアンサー率55% (405/735)
回答No.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

yoichi0726
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A