予期しないファイル書き込み機能 [重複]

予期しないファイル書き込み機能 [重複]

私はという名前のディレクトリをdir1所有しておりroot、権限を持っています777。が所有し、権限を持つfile1inside というファイルがあります。名前は一般ユーザーとしてログインしています。dir1root644user1

vimで編集すると、file1読み取り専用ファイルとして宣言されて保存できるのはなぜですかwq!sudo私が入らない場合は、書き込みアクセスを拒否する必要があると思います。

編集後の所有権がからにfile1変更されたことを確認しました。また、権限をに変更すると期待が満たされることも確認しました。つまり、書き込みアクセスが拒否されました。rootuser1dir1775

答え1

これは、dir1すべてのユーザーに書き込み権限が与えられているために発生します。権限があれば、777誰でもディレクトリを表示してコンテンツを作成/削除できます。

これで、基準はwq!vimを使用するとvimを削除file1し、新しい権限セットで再生成してuser1書き込みアクセスを許可することです。これはuser1、内部的にファイルを削除して生成する機能のために可能です。dir1

# at beginning    
$ ls -li file1

# after vim wq!
$ ls -li file1

ただし、dir1の権限をに変更すると、もはやファイルの作成/削除は775許可されません。したがって、vimは元のファイルを削除して再作成することはできません。user1dir1file1

関連情報