sambaでファイルへの操作ログを取得する

ふと、sambaで共有しているファイルへの操作ログを記録できないかと調べてみたところ、VFSモジュールを使うことで設定ができるようなのでやってみることにした。追記する設定例配下。
ちなみに以下の例だと、「test」という共有ディレクトリでの操作ログについて取得するようになっている。全部取得するには”full_audit:success”の値を”vfs_full_audit”に設定してやれば良いのだが、それだと不要なログで溢れてしまうので、必要になるログだけを出力させている(また、failureログについても出力させないようにしている。)。

●/etc/samba/smb.conf

[test]
vfs objects = full_audit
full_audit:prefix = %u|%I|%m|%S
full_audit:success = mkdir rename unlink rmdir pread pwrite
full_audit:failure = none
full_audit:facility = LOCAL7
full_audit:priority = NOTICE
Sponsored Links

設定を追記したら、後はサービスを再起動するだけだ。

systemctl restart smb nmb

 

これで、Sambaからのファイル操作がログに記録されるようになった。実際のログ出力は以下のような感じ。

Apr  1 23:51:35 BS-PUB-MEDIA-02 smbd_audit: nobody|172.xxx.xxx.xxx|main-desktop|test|pread|ok|test_dir/memo.txt
Apr  1 23:51:40 BS-PUB-MEDIA-02 smbd_audit: nobody|172.xxx.xxx.xxx|main-desktop|test|pwrite|ok|test_dir/memo.txt
Apr  1 23:51:40 BS-PUB-MEDIA-02 smbd_audit: nobody|172.xxx.xxx.xxx|main-desktop|test|pwrite|ok|test_dir/memo.txt

 

ちゃんとログを記録しておけば、利用頻度の高いファイルやディレクトリについても後から調査できるようになる。
ログに記録する操作内容についてはこちらを、ログのフォーマットについてはこちらを参考にすると良いだろう。

 


Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。

*