[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:70954] Re: ファイルの許可権について


さくです。

At Fri, 30 Jun 2000 19:22:21 +0900,
Takahiko Sawayanagi <sawa _at_ tokki.jrc.co.jp> wrote:

> 他のユーザ所有の許可モード644に設定された、あるファイルをrm
> コマンドで削除しようとしたり、エディタなどで編集上書しようとした時に、
> 下記のようなメッセージが出てきて、「許可権モードを無視して削除するか?」
> と聞いてきます。
> ”y”と答えると、許可権を無視して簡単に削除、上書が出来てしまいます。
> (削除、上書するユーザは、”あるファイル”の置いてあるディレクトリの
> 許可権は持っています。)
> 
> "rm: rebove `ファイル名` , overriding mode 0644?"
> 
> 通常は"Permission denied"と言って許可権が無いと削除、上書は出来ない
> ように思います。(よく使用しているHP−UXのマシンは出来ませんでした。)

ファイルのwは、そのファイルの内容を変更できるかどうかを決定します。

ディレクトリのwは、そのディレクトリ(という特殊ファイル。本来は名簿の意)の
内容を変更できるかどうかを決定します。つまり、そのディレクトリにファイルを
作ったり、そのディレクトリにあるファイルを削除する権限を司ります。

ということをふまえて、以下例題で説明します。

aaaaaaaさんの所有する、誰でも書けるディレクトリAに、
aaaaaaaさんの所有する、aaaaaaaさんのみw許可を持ったファイルxがある

とします。

$ pwd
A
$ ls -ldiF . x
1234567 drwxrwxrwx   2 aaaaaaa  aaaaaaa    .....(省略)..    ./
1234568 -rw-r--r--   1 aaaaaaa  aaaaaaa    .....(省略)..    x

# iはファイルのiノードを表示するlsのオプションです(数値は適当)

このとき、bbbbbbbさんは、

・x自身を直接書き換えることはできない。

のですが、

・ディレクトリAにあるファイルxを削除できる。
・ディレクトリAに新規ファイルを作成できる。

ので、エディタの上書き機能の実装が

1. オリジナルファイルを削除して、
2. 編集済みのデータを新規ファイルを作成して書き込む。

# 保存処理中の異常終了でデータが失われないように、実際にはもうちょっと細工
# が必要なだったはず。

となっていると、xを置き換えることができてしまうのです。

$ ls -ldiF . x
1234567 drwxrwxrwx   2 aaaaaaa  aaaaaaa    .....(省略)..    ./
1234569 -rw-r--r--   1 bbbbbbb  bbbbbbb    .....(省略)..    x

rmでファイルxを削除できてしまうのも、同じ原理です。

-- 
OZAWA -Crouton- Sakuro
E-Mail: mailto:crouton _at_ duelists.org
        mailto:crouton _at_ isoternet.org
        mailto:crouton _at_ serika.ne.jp
   Web: http://www.duelists.org/~crouton/
   PGP: C98F 74E0 AEEB 4578 1DFC  F650 3BE0 9627 11FC C9F5

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: References: