ユーザーが自宅のフォルダやファイルを削除できないようにする

ユーザーが自宅のフォルダやファイルを削除できないようにする

ユーザーがホームディレクトリのフォルダとファイルを削除するのを防ぐ方法は?私のシナリオでは、ユーザーはフォルダを作成して変更できますが、フォルダを削除しないでください。どうすればこの目標を達成できますか?

答え1

ファイルを削除するには、ファイルの親ディレクトリへの書き込み権限が必要です。最初にディレクトリにファイルを作成するのに必要なのと同じ権限が必要なため、要件が競合します。削除を防ぐために、ユーザーのホームディレクトリへの書き込み権限を削除すると、ファイルも作成されません。

ファイルの作成とファイルの削除は非常に似ています。どちらの場合も、エントリを追加または削除してディレクトリ内のエントリを変更します。

答え2

本当にしたい場合は、重要な既存のファイルを変更できないように手動で作成することができます。

$ chattr +i filename

これにより、ファイルにi属性が追加され、誰もいかなる方法でもファイルを変更または削除できなくなります。ファイルが変更不可能であることを確認できます。

$ lsattr filename
----i--------e-- filename

iタグが存在する場合は変更できません。削除するには、次を使用します。

$ chattr -i filename

注:ファイルで変更できないタグを追加または削除するには、ルートである必要があります。

もちろん、この方法の欠点は、削除を防止したいすべてのファイルに対してこの操作を手動で実行する必要があることです。良いことは、ユーザーが新しいファイルを作成するのを妨げないことです。

関連情報