Логирование файловых операций в Samba

Понадобилось мне вести учёт всех операций доступа к расшаренным файлам на Samba сервере. Как оказалось, сделать это очень просто.

Добавляем в конфигурационный файл /etc/samba/smb.conf следующие строки:

[Incoming]
path = /media/disk1/Incoming
vfs objects = full_audit
full_audit:prefix = %u|%I|%m|%s
full_audit:success = open opendir read pwrite unlink
full_audit:failure = all
full_audit:facility = LOCAL7
full_audit:priority = ALERT

Эта конструкция будет записывать в лог операции открытия файла, открытия каталогов, чтения, удаления и записи файлов.

Теперь нужно добавить в файл /etc/rsyslog.conf строчку:

local7.* /var/log/samba/audit.log

Рестарт samba и rsyslogd:

warehouse:~# /etc/init.d/samba restart && /etc/init.d/rsyslogd restart

Вуаля — в файле /var/log/samba/audit.log будут появляться логи операций. Полный список переменных в full_audit:prefix можно посмотреть здесь . Список доступных к логированию операций — тут .

EnglishRussianUkrainian