現在、スクリプトファイルがあり、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
表示するには、フラグを使用してくださいls
。uchg