残念なことに、ファイルから書き込み権限を削除しても、次のことからは保護されないようですrm -f
:
touch foo
chmod a-w foo
rm -f foo
rm
フラグ付きで呼び出されたときに、ファイルが誤って削除されないようにするにはどうすればよいでしょうか-f
? 動作しそうですchattr +i foo
が、システムでルート権限が必要です (これは意図されたことですか?)。そのため、ルート権限を必要としないソリューションを探しています。
答え1
ディレクトリへのファイルの追加や削除を防ぐには、ディレクトリへの書き込み権限を削除します。
答え2
ファイルに対する書き込み権限があれば、ファイルの内容を変更することができます。フォルダーに対する書き込み権限があれば、フォルダーの内容 (つまり、フォルダー内にあるファイル) を変更することができます。
ほとんどのファイルシステムでは、他の特定の属性も許可されています。かもしれない'immutable' 属性に注意してください。sudo chattr +i file
ファイルの編集、移動、削除、リンクが無効になります。