ファイルの履歴を表示する(ファイルを変更したユーザーのリスト)

ファイルの履歴を表示する(ファイルを変更したユーザーのリスト)

ファイル履歴を提供し、ファイルを変更したユーザーのリストを表示するコマンドはありますか?

svn/git などでそれが可能であることはわかっていますが、SVN にない設定ファイルがあり、誰かがそれを変更しました。

答え1

以前に何らかの監査を有効にしていない場合、ファイルが変更された後にこれを報告できるツールはありません。ファイルが最後に変更された日時を取得することはできますが、変更履歴は取得できません。

今後は、auditdパッケージをインストール、セットアップ、有効化できるようになります。

man ページからauditctl:

-w path
    Insert  a  watch for the file system object at path. You cannot insert
    a watch to the top level directory. This is prohibited by the  kernel. 
    Wildcards  are not supported either and will generate a warning. The way
    that watches work is by tracking the inode internally. If you place a 
    watch on a file, its the same as  using  the  -F  path  option  on a 
    syscall rule. If you place a watch on a directory, its the same as using
    the -F dir option on a syscall rule.  The  -w form  of  writing watches 
    is for backwards compatibility and the syscall based form is more
    expressive. Unlike most syscall auditing rules,  watches  do  not impact
    performance  based on the number of rules sent to the kernel. The only 
    valid options when using a watch are the -p and -k. If you  need to     
    anything fancy like audit a specific user accessing a file, then use 
    the syscall auditing form with the path or dir fields.

これについては質問でさらに議論されています隠しファイルの作成を記録する

答え2

ここでは、inotify をハッキングして PID と UID を提供する方法について説明します。 http://www.ioremap.net/node/55

監査もご覧ください http://andries.filmer.nl/kb/monitoring-file-system-events-with-inotify,-incron-and-authctl/129#監査

関連情報