samba讓檔案伺服器記錄誰刪除誰建立檔案目錄
作者: cross 日期: 2010-05-14 20:12
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
上一篇
返回
下一篇
標籤:




samba 出現Unable to connect to CUPS server localhost:631 錯誤訊息 (2011-06-21 23:29)
讓linux使用者利用winbind認證windows AD (2011-03-26 17:38)
samba 讓檔案伺服器有資源回收筒的功能 (2010-05-14 01:19)
Samba 設定垃圾筒 (2008-11-12 15:09)
Samba + PDC (2006-11-14 22:33)
Samba + LDAP (2006-11-14 22:32)
Samba (2006-11-14 22:31)