2017-07-09 5 views
0

私は、仮想マシンを構築するためにオートメーションツールを使用しています。この自動化中に、設定ファイル(/etc/myprogram/cofig.ini)は空になります。どのプロセスがLinuxでファイルを変更しているかを知る方法

このファイルの内容は自動化が必要ですが、どのプロセスがファイルを空にしているのかわかりません。

ファイルを監視し、プロセスの名前をリストして、ファイルの内容を変更したいとします。

私はUbuntu 16.04を使用しています。

Stackoverflowでいくつかの質問がありましたが、助けてくれました。私はaudictl inotifyとwatchdogを使用しようとしました。これを行うにはもっと良い方法を教えてください。これを行うにはpythonを使用する方法がありますか?

+0

を使用しています。どのように使ったのですか? – l0b0

答えて

3

lsofコマンドは、プロセスがどのファイルを使用しているものが表示されます:あなたはlsofを使用することができます

lsof | grep <filename> 
2

。このコマンドは、現在どのファイルが開いているかを調べるためのコマンドです。 プロセスがファイルを開いて書き込みを行い、それを閉じると、監査を使用できます。ファイルの変更まで

/sbin/auditctl -w /etc/myprogram/cofig.ini -p war -k config.ini-file 

-w watch etc/myprogram/cofig.ini 
-p warx watch for write, attribute change, execute or read events 
-k config.ini-file is a search key. 

待ち、その後inotify`は、他のプロセスが内容を変更するかどうかを示すことができなければなりません `

/sbin/ausearch -f /etc/myprogram/cofig.ini | more 
関連する問題