samba 預設不會有記錄誰刪除了檔案、建立等等的

samba 可以使用的模組有 extd_audit

不過缺點是:

1。我想要 log level 是 0,也就是 Make Directory, Remove Directory, Unlink,不過仍記很多 Open Directory,多到不像話

2。之後要追蹤很麻煩,沒有完整的記錄,所謂沒有完整是因為還要到另一個檔案去查它的 ID 是多少,又要去另一個檔案查它的 User是誰

還好有另一個選擇,叫作是 full_audit,看樣子彈性大很多 (是大超多的吧)

設定如下

[global]
vfs objects = full_audit

# 記錄的前置字串 = 使用者|ip|netbios名|分享目錄
full_audit:prefix = %u|%I|%m|%S

# 完成動作時會被記錄的有那些
# 參考: http://www.samba.org/samba/docs/man/manpages-3/vfs_full_audit.8.html 的 DESCRIPTION
# pwrite是上傳的動作
full_audit:success = mkdir rename unlink rmdir pwrite

# 比方說沒有東西被改變,這個就不用記錄了吧。可以設定 = all 研究看看
full_audit:failure = none

# 預設是只記錄於 /var/log/messages,可以修改 /etc/syslog.conf 加一行 local6.*      /var/log/samba/audit.log
# 仍找不到好的方式讓不設定 syslog.conf 時不會記錄在/var/log/messages
# 我設了 priority 為 DEBUG時才不會記錄在 messages
full_audit:facility = LOCAL6

# 警告的等級,notice、info、warning、debug、alert,好像記錄長的都差不多,可能我只是測試環境還不複雜吧
full_audit:priority = DEBUG

修改 syslog

vi /etc/syslog.conf

# 加入
local6.*      /var/log/samba/audit.log

/etc/init.d/syslog restart

vi /etc/logrotate.d/syslog

# 更改
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {

# 為

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/samba/audit.log {

audit.log 記錄說明

May 14 11:36:53 st smbd_audit: cross|10.10.10.63|wis063-cross|cross|rename|ok|ISO/123/新增文字文件.txt|ISO/123/11111111.txt
#                                                  <——————– prefix —————->
#                                                                                                               <operation>
#                                                                                                                            <result>
#                                                                                                                                 <file路徑>

ref:

http://moiristo.wordpress.com/2009/08/10/samba-logging-user-activity/
http://www.samba.org/samba/docs/man/manpages-3/vfs_full_audit.8.html

Related posts 相關文章
Windows 無法直接打開 Samba 分享出來的 .exe 執行檔
More...
samba 建置檔案伺服器fileserver分享目錄檔案
More...
samba 出現Unable to connect to CUPS server localhost:631 錯誤訊息
More...
讓linux使用者利用winbind認證windows AD
More...

作者

留言

之所以log會記錄在message log中是因為syslog.conf之/var/log/message那裡有包含*.notice的設定,將之修改或拿掉即可 !

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。