設定されたテキストファイルがあり、chmod 444 file
効率的に使用できます。たとえば、このファイルに書き込みをしようとするとうまくいきます。しかし、ネットワーク経由でファイルを開くと-r--r--r-- 1 blah blah 310 Aug 27 20:00 file
ls -ls
nano
ジェニー1は問題なく書くことができます。これを期待すべきですか?ファイルを読み取り専用にする方法は?誤って直接変更しないようにしたいです。
1 これがどのように機能するか、詳細がわかりません。ファイルエクスプローラを使用してアドレスバーに書き込み、ネットワーク経由でそのコンピュータに接続し、ファイルをダブルクリックしてGeanyとして開きました。sftp://[email protected]/home/user/path_to_somewhere
答え1
Geanyは、多くのファイルエディタがやっていることを行います。ファイルを変更して保存すると、新しいバージョンの内容が新しいファイルに書き込まれ、元のファイルが削除され、新しいファイルの名前と権限が古いファイルと一致するように変更されます。これがGeanyが元のファイルを変更したときにinodeが変更されたように見える理由です。これは新しいファイルに置き換えられます。
元のファイルに対する権限がこれらの操作を禁止するように見えますが、ディレクトリに対する権限はこれらの操作を許可します。
元のファイルを変更できないようにしました。別の潜在的な解決策(chattr +i
利用できない、または他の望ましくない副作用がある場合)は、Geanyにディレクトリ権限が許可されていても書き込み不可能なファイルを更新しないように指示する設定オプションがあることを確認することです。ファイルの削除や名前の変更を防ぐためにディレクトリ権限を調整することは、望ましくない副作用がなければ避けにくいです。
答え2
chattr +i filename
ファイルが不変フラグをサポートするファイルシステムにある場合、この方法は機能します。