
私が興味を持っているのは、(ルートではなくユーザーとして)親ディレクトリに書き込むことができる必要がある間に削除(つまり、明示的なルート権限なしで誤って)して親ディレクトリ(以下のtest
例のように)を保護することです。
test
たとえば、次の子ディレクトリを含む親ディレクトリがあるとします。
test/
|-- dir_1
`-- dir_2
これがroot
所有者であると仮定すると、グループは次のようになりますsome_group
。
drwxr-xr-x 4 root some_group 4096 Apr 16 13:38 .
drwxr-xr-x 3 some_user some_user 4096 Apr 16 13:36 ..
drwxr-xr-x 2 root some_group 4096 Apr 16 13:38 dir_1
drwxr-xr-x 2 root some_group 4096 Apr 16 13:38 dir_2
これで、メンバーであるユーザーはsome_group
削除できないことを望み、dir_1
これdir_2
をに設定してこれを保証したと思います755
が、同時にユーザーが内部的に書き込むことはできますが、test
ディレクトリtest
全体を削除することはできません。これを行う方法はありますか?ありがとうございます。
答え1
Unixファイルシステムでは、エントリを削除するためにターゲットへの書き込み権限が必要ではなく、含まれているディレクトリへの書き込み権限のみが必要であることを認識する必要があります。
このディレクトリを保護するには、test
親ディレクトリの権限を設定しますtest
。
ユーザーが自分のファイルを作成および削除できるようにするには、権限をtest
に設定します1777
。高いビットをベタベタと呼びます。