From: Takahiro Kambe Date: 2003-07-22T08:08:59+09:00 Subject: [ruby-list:37925] Re: control user ID / group ID In message <20030722.051007.74738624.nagai@ai.kyutech.ac.jp> on Tue, 22 Jul 2003 05:10:09 +0900, Hidetoshi NAGAI wrote: > しかし BSD/OS 上の setregid() ではそれが不可能 or 保証できないと > いうことなら,OpenBSD の場合と同様,setregid() 関数は存在するが > re_exchangable? は false である環境として扱うしかありません. これは、4.4BSDの仕様です。NetBSDのsetregid(2)のHISTORYのセクションには、 HISTORY The setregid() function call appeared in 4.2BSD. An incompatible version was implemented in 4.4BSD. It was reimplemented in NetBSD 1.2 in a way compatible with 4.3BSD, SunOS and Linux, but should not be used in new code. といった記述があります。(setreuid(2)にも同様な記述があります。) OpenBSDはNetBSD 1.1から分かれていますから、オリジナルのままであっても おかしくありません。 > に基づき,OpenBSD の場合と同様に例えば > > #elif defined(HAVE_SETREUID) && !defined(__OpenBSD__) && !defined(__bsdi__) > > と指定することになるかと思います. 一旦 HAVE_44BSD_SETREUID とかしておいた方が良いかもしれません。 -- 神戸 隆博 / Takahiro Kambe