Path: katsu From: katsu@sra.co.jp (WATANABE Katsuhiro) Message-ID: Date: 18 Jun 1996 18:11:49 GMT Organization: Software Research Associates, Inc., Japan In-reply-to: aki@noc.titech.ac.jp's message of 06 Jun 1996 10:57:50 GMT Newsgroups: fj.unix Subject: Re: Who is "nobody" (Re: [Q] httpd config) References: <4p1546$slp@frontier.rc.m-kagaku.co.jp> Distribution: Mime-Version: 1.0 (generated by tm-edit 7.47) Content-Type: text/plain; charset=ISO-2022-JP フォローの遅さが議論の妨げになっていたらごめんなさい。 記事 で asada@three-a.co.jp (Takuya ASADA) さんいはく > > nobody さんになれないのでよく分かりません。 > > このへんは、OS によって違うんですかねぇ…ちなみに、今使って > いる Soralis2.5 では /etc/passwd で > > nobody:x:60001:60001:Nobody:/: > > というカンジで定義されている、フツーのアカウントです。 Solaris 2.x では で UID_NOBODY が定義されるように なりましたが、それでも本当に kernel のレベルで nobody(uid:60001) を特別扱いしている(フツーのアカウントと違う)所は存在しないので しょうか。わたしも存在しないと予想はしてるのですが。 SunOS 4.x に遡るならば、kernel が nobody(当時 uid:-2) を特別扱い している場所が少なくとも1箇所あります。setauid(-2) で auditing が off になるようになっている(see. )のです。(Solaris 2.x では nobody の uid が -2 でないので関係ありません。) 記事 で aki@noc.titech.ac.jp (飯島 昭博 /Iijima Akihiro) さんいはく > SunOS 4.1.3では /usr/include/sys/types.h の中で、 > typedef unsigned short uid_t; > てのがあります。 以下は nobody に限らず uid 一般の話です。 ライブラリ関数や各コマンド毎に別々に独立して uid の型を定義して いて、必ずしも全部で uid_t を使っていない OS が多いと思います。 そして、これら複数の定義が一貫しておらず、short/int と unsigned が 混在していることもしばしばです。皆さんのお手元のいろいろな機械で egrep uid /usr/include/*.h などとやってみてください。 あたりは違っていることが特に 多いようですが、果たして の記事にも HP-UX 7.0 の場合の についての話がありました。 kernel だけでも uid_t に統一しているかどうか、 egrep uid /usr/include/sys/*.h としてみると、実は unsigned short などに hard cord されてる部分が 沢山あったりするかもしれません。 ただし、Solaris 2.x のように、kernel もアプリケーションも可能な限り uid_t を使うように整理した(ような雰囲気がある) OS も存在します。 符号つきと符号なしの uid が混在することに由来するトラブル例が http://www.sra.co.jp/people/katsu/article/11.part http://www.sra.co.jp/people/katsu/article/12 にあります。かなり昔の話ではありますが、興味ある方はご参照下さい。 -- 渡邊克宏@SRA