[Mew-dist 1407] Re: /tmp について
Atsushi Onoe
onoe at example.com
1997年 7月 31日 (木) 16:07:57 JST
> > > /tmpにsticky bitを立ててないと、他人が容易にファイルを削除できてし
> > > まうという、感覚の問題だけでない点はあると思います。
> > でも同じことがディレクトリにも言えませんか?
> 作成したディレクトリが空でなく、world writableでなければ消せません。
ええと、コマンドを実行するために、ほんの一瞬作る一時ファイルの置き方に
ついての議論ですよね。つまり神戸さんの指摘は微妙なタイミングに依存する
話だと仮定します。
/tmp に sticky bit が立っていない場合:
例えば sub directory 作っても、その後ファイルを作るまでのタイ
ミングで directory が他人から消されてしまったら困ることに変わ
りはない。
ひょっとしたらその他人は消すと同時に、オーナやモードの違う同名
のディレクトリを作っちゃうかも知れない。
頑張れば検出できないことはないだろうけど、そこまでやるのなら
1. /tmp 直下にファイルを作る (open したまま)
2. コマンドに渡す
3. コマンド終了後、ファイルの存在と、その inode が
open したままにしてある、自分が作成したファイルの
inode と一致することを確認する
でも確認して、違ってたらやり直す、ということもできそうだ。
o 普通 file system は同じ inode 番号をすぐ再利用すること
はないので、open したままにしなくても、まず問題ないで
しょう。
o どうせ消されたり変更されたりした場合、うまくいかないこ
とがユーザに見えるのなら、何もしなくても単にユーザがや
り直せば十分な気もする
というわけで、あまり意味のある根拠じゃないように思えるのですが。
尾上
Mew-dist メーリングリストの案内