*

* Tips   * Top

NIS(YP)を使ったときに1つのユーザが/etc/groupに登録できるのは16件まで!?

Linuxで、/etc/groupの各グループにおいて 特定のユーザを多数(17以上)のグループに登録した場合に 不具合が発生することがあります。

(ご注意) このページをご利用になった結果の影響については、 一切責任を負いませんので、あらかじめご了承願います。

  1. /etc/groupに、
    group1:x:1001:user1
    group2:x:1002:user1
    group3:x:1003:user1‥‥
    などと、1つのユーザを数多くのグループに登録しているうちに、 ypサーバでmakeを行ったにもかかわらず その結果が反映されないことがあります。 これは、NFS(YP)を使ったときに、最大の登録グループが 16に設定されていることが原因のようです。

  2. 上記内容は、
    /usr/include/sys/param.h
    に、
    #define NGROUPS 16 /* 最大グループ数 */
    などと定義されているようです。あいにくながら この問題に関しては、カーネルのソースを入手してから 再コンパイルするより仕方ないようです。また、この制約は NFSなどでも使用されているRPCプロトコルにもまた存在していて、 このため、条件を修正してからカーネルを再コンパイルしたとしても そのときにそこからネットワーク上に流出するパケットは プロトコルに違反するものになってしまうことがあるようです。

  3. もともとグループの設定の思想には、部外者を締め出すことを目的にしているようです。 このため、ふつうに考えてみれば1ユーザが所属するのは1グループ。 だから、管理者であっても5グループにも所属すれば充分であろうと設計されており、 そこから、16グループを上限にしていることは、まずこの条件に引っかかることは ないであろうということです。

  4. 参考ならびに引用した文献
    http://www.sunmanagers.org/archives/1995/0030.html

shacho@critical.ne.jp
Last modified: Wed Apr 02 00:40:00 JST 2003