読み取り専用権限でファイルの強制保存を停止する

読み取り専用権限でファイルの強制保存を停止する

現在、スクリプトファイルがあり、sudoersセキュリティ上の理由からファイルを読み取り専用にしたいと思います。だから私は次のchmodを実行しました。

chmod 555 test.sh

今ファイルの権限

-r-xr-xr-x  

しかし、このファイルをviに移動すると言われていますが、W10: Warning: Changing a readonly fileまだ「w!」を使って強制的に保存できます。一般ユーザーがこのファイルに書き込むことができないように強制保存を無効にするにはどうすればよいですか?

ベストアンサー1

Linuxシステムで変更できないファイル属性の設定シャテル

sudo chattr +i file

「i」属性を持つファイルは変更できません。削除または名前変更できず、ファイルへのリンクを作成できず、ファイルのメタデータのほとんどを変更できず、ファイルを書き込みモードで開くことができません。スーパーユーザーまたはCAP_LINUX_IMMUTABLE機能を持つプロセスのみがこのプロパティを設定または消去できます。

lsattrファイルのプロパティを一覧表示するために使用されます。

lsattr -l myfile
myfile    Immutable

欠点は、スーパーユーザー(ルート)でもファイルに書き込めないことです。まず、変更できない属性を削除する必要があります。

sudo chattr -i file

macOSではchflagsコマンドは、不変フラグを設定してリセットするために使用されます。設定:

chflags uchg file

設定を解除または消去するには:

chflags nouchg file

これはファイル所有者またはスーパーユーザーが実行できます。

macOSの場合、設定時に変更できないフラグを-Ol表示するには、フラグを使用してくださいlsuchg

おすすめ記事