GNU/Linux >> Linux の 問題 >  >> Linux

Linux の flock コマンドを使用して、別のルート プロセスがファイルを削除しないようにするにはどうすればよいですか?

いいえ、群れは誰かが何かをするのを妨げません。 Unix ロックは注意事項です。つまり、他のプロセスが flock を呼び出すのを防ぎます (または、共有ロックの場合は、別のプロセスが排他的なロックを使用するのを防ぎます)。

root やその他のユーザーによるファイルの読み取り、書き込み、または削除を停止することはありません。

いずれにせよ、それが強制的なロックであったとしても、ディレクトリ エントリではなくファイルがロックされているため、ファイルの削除は停止しません。


sudo chattr +i ./file.xml

MarkR は正しいです。ファイルをチャットすると、ファイルが削除されなくなります:

-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
[email protected] [2135] --> sudo chattr +i junk.txt
[sudo] password for risk: 
-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
[email protected] [2136] --> sudo rm ./junk.txt 
rm: cannot remove `./junk.txt': Operation not permitted
zsh: exit 1     sudo rm ./junk.txt
-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
[email protected] [2137] --> sudo rm -f ./junk.txt
rm: cannot remove `./junk.txt': Operation not permitted
zsh: exit 1     sudo rm -f ./junk.txt
-(~)-------------------------------------------------------------------------------------------------------(08:40 Mon Mar 29)
[email protected] [2138] --> 

flock は、この仕事に適したツールではありません。ファイルを削除するプログラムがある場合、そのプログラムをルートとして実行しないでください。別のユーザーとして実行する必要があります。 Unix はファイルのパーミッションを非常によくサポートしていますが、root は神のアカウントです。 root はすべてを行うことができ、root には権限がありません。


Linux
  1. Linuxgrepコマンドの使用方法

  2. Linuxでhistoryコマンドを使用する方法

  3. LinuxでTarコマンドを使用する方法

  1. Linuxでsudoコマンドを使用する方法

  2. Linuxの履歴コマンドの使用方法

  3. Sysadminツールボックス:Linuxでsortコマンドを使用してテキストを処理する方法

  1. Linuxでmd5sumコマンドを使用する方法

  2. Linuxxargsコマンドの使用方法

  3. Linuxteeコマンドの使用方法