3
ファイルを変更不可にするにはどうすればよいですか?
ログイン中に、次のことができます。 mkdir foo touch foo/bar chmod 400 foo/bar chmod 500 foo 次にroot、(ではなく)vimを開き、編集しbar、で強制的に書き込みw!、ファイルが変更されます。 オペレーティングシステムでファイルの変更を禁止するにはどうすればよいですか? 2017年3月2日更新 chmod 500 foo赤いニシンです。ディレクトリに対する書き込み権限は、ファイルの内容を変更する機能とは関係ありません。ファイルを作成および削除する機能のみです。 chmod 400 foo/bar実際、ファイルの内容が変更されるのを防ぎます。ただし、ファイルのアクセス許可が変更されるのを防ぐことはできません -ファイルの所有者は、常にファイルのアクセス許可を変更できます(ファイルにアクセスできる場合、つまりすべての祖先ディレクトリでアクセス許可を実行できる場合)。実際、strace(1)は、これがvim(7.4.576 Debian Jessie)が行っていることを明らかにしています-vimはchmod(2)を呼び出してファイルの所有者に書き込み許可を一時的に追加し、ファイルを変更してからchmod( 2)再度書き込み許可を削除します。それが、chattr +iworks を使用する理由です。root のみがを呼び出すことができますchattr -i。理論的には、vim(または任意のプログラム)は、rootとして実行された場合、不変ファイルでchmodを使用するのと同じことをchattrで実行できます。