2004/11/07
From: Kenji Arisawa <arisawa@aichi-u.ac.jp> Subject: [9fans] user none Hello, I have a question. In Plan9, we have a rule: "everyone can become none." However user none plays important role for Internet service. What's wrong if we replace the rule by the following ? "Only host owner can become none." Thanks,これに対する Presotto (開発者の一人)の返答
From: presotto@plan9.bell-labs.com Date: Sun, 9 Jul 2000 10:55:49 -0400 To: arisawa@ar.aichi-u.ac.jp, 9fans@cse.psu.edu Subject: Re: [9fans] user none Off hand, I can't thing of anything that would break. In security, less priviledge is always better. I'll change it on our syystems and see if it does break anything.同月に Rob Pike が改訂のアナウンス
Subject: [9fans] Update From: "rob pike" <rob@plan9.bell-labs.com> Date: Sat, 29 Jul 2000 14:43:31 -0400 To: 9fans@cse.psu.edu I've just installed a new update for Plan 9 on http://plan9.bell-labs.com/plan9. You can install the full download, or do an incremental update from the June 17 distribution. There are many changes, including: A. The kernel: .... 12) Only 'eve' processes can become none. This is perhaps he most dangerous change. We are running with it but we don't know if this will affect others. ... -robeve process とはこの改訂によって生まれた新しい用語で、host owner のプロセスの事。
さらに、none はファイルのアクセス制限に関して特別な扱いを受けている。none に対しては others の許可ビットで処理されているのである[注3]。例えば
--rw-rw---- none none .... /usr/none/tmpであるが none は /usr/none/tmp には書き込めない。
--rw-rw-rw- none none .... /usr/none/tmpとすれば書き込めるようになるが、この変更(chmod)は none 自身は行えない。
ar% aux/listen1 'tcp!*!2000' /bin/tr '[a-z]' '[A-Z]' listen startedすると Plan 9 端末から[注4]は
term% telnet -r tcp!ar!2000 connected to tcp!ar!2000 on /net/tcp/29 alice ALICE bob BOB term%のように ar のポート 2000 にアクセスし、サービスを受ける事ができる。
telnet ar 2000とする。
UNIX でも同様なプログラムを作成する事が可能であり、そのお陰で筆者が管理権を持たない UNIX システムに対して Plan 9 とのインターフェースを確立する上で筆者も恩恵を預かって来た。しかし UNIX ではエンドユーザは nobody としてサービスプログラムを実行する事はできない。つまり大きなリスクを伴うことになる。
なお Plan 9 ではシステムポートの概念を持っていない。空いていればどのユーザもそのポートでサービスを実行できる。その事が管理者側から見て困るようであれば、問題のポートを塞いでおく必要がある。また逆の立場、つまりPlan 9 の外の OS ユーザの立場から見て 1024 以下のポートの全てがシステム管理者の責任で運用されていると判断してはならない。