[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 メーリングリストの案内