[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:03441] initgroups returns -1 on glibc-2.1.1



こんにちわ、和田です。

Plamo Linux 1.3をベースにglibc-2.1.1をいれて
Kernelも2.2.10とかにして喜んでいたら、Apache
のrebuildではまってしまいました。

Apache-1.3.6をglibc-2.1.1でmakeすると、makeは
問題なく終るんですが、実行してみると

Invalid argument: initgroups: unable to set 
groups for User nobody and Group 42947294

とログにはいてexitしてしまいます。

Apacheのソース眺めて、initgroupに渡っている
パラメータを調べてみたりしても特に異常はなく、
initgroupsそのものを疑いまして、こんなプログラム
書いてみました。

------------------------------------------------
#include<stdio.h>
#include<grp.h>
#include<sys/types.h>

int main( int argc , char* argv[] ){
  int ret;
  struct group* nogroup;

  nogroup = getgrnam( "nogroup" );
  ret = initgroups( "nobody" , nogroup->gr_gid );

  if( nogroup ){
    printf("nogroup->gr_gid = %d\n" , nogroup->gr_gid );
  }else{
    printf( "nobody == null" );
  }
  printf ("initgroups\() returns = %d\n", ret );

  return 0;
}
-------------------------------------------------

見ての通りinitgroupsを素朴に発行してるだけなのですが
これが

nogroup->gr_gid = -2
initgroups() returns = -1

なんて返して来ます。

#ちなみにちゃんとrootでやってます。


そんなわけで困っちゃってるんですが、誰かglibc-2.1.1
でApache作って動かしている人いらっしゃいますか?
すごく一杯いそうな感じもしますけど....

それともやっぱり僕がなんか阿呆な勘違いしているんで
しょうか?



P.S.
-------/etc/passwdから抜粋----------
nobody:x:65534:100:nobody:/dev/null:
------------------------------------

------/etc/groupから抜粋---------
nogroup::-2:
--------------------------------


----------------------------
和田正壮
wada@techno-infinitus.co.jp
----------------------------


[検索ページ] [メール一覧]
Plamo ML 公開システム