フォルダの削除を禁止するが、フォルダ内のすべてのものへのアクセスを許可する

フォルダの削除を禁止するが、フォルダ内のすべてのものへのアクセスを許可する

ファイルとディレクトリに +i フラグがあることは知っていますが、より深刻な問題があります。

ファイルやフォルダを作成/アクセス/削除できるユーザーによってフォルダが削除されるのを防ぐ方法はありますか?内部削除保護されたフォルダですか?

このsudo chattr +i testfolderフラグは役に立ちません。ユーザーはファイルを読み取ることはできますが、作成したり削除したりすることはできないからです。

このsudo chattr +a testfolderフラグは、ユーザーがファイルを読み書きできるが、ファイルの追加と編集のみが可能で、削除はできないため、役立ちます。

ユーザーが書き込み、アクセスできるソリューションが必要ですそしてファイルを削除しますが、ルート/親フォルダーは削除できません。

答え1

ディレクトリの削除は、ディレクトリ自体の権限ではなく、親ディレクトリの権限に依存します。ユーザーが親ディレクトリへの書き込み権限を持っている場合、ディレクトリは削除可能ですが、そうでない場合は削除できません。

したがって、保護するディレクトリと同じレベルでディレクトリ/ファイルを作成または削除する権限をユーザーが持つ必要がない場合は、次のようにすればよいでしょう。

chmod 755 /the/parent/dir 

一部のユーザーに親のコンテンツの変更を許可する必要がある場合は、そのユーザーがメンバーであるグループが親を所有し、そのグループに書き込み権限を与える必要があります。

addgroup bigguys
chgrp bigguys /the/parent/dir
chmod 775 /the/parent/dir

関連情報