Логирование действий на файловом сервере в Samba 4.5
Для логирования/аудита действий пользователей на файловом сервере предусмотрен модуль VFS (Virtual File System) — full_audit, рассмотрим его применение.
В файле конфигурации samba /etc/samba/smb.conf в секцию [global] добавим следующие параметры:
#   ПАРАМЕНТЫ ЛОГИРОВАНИЯ
    log level = 0 vfs:1
#   ПОДКЛЮЧЕНИЕ МОДУЛЕЙ VFS (Virtual File System)
    vfs objects = full_audit
		
#   АУДИТ СЕТЕВЫХ ПАПОК
    full_audit:prefix = %S|%u|%I
    full_audit:success = mkdir rmdir pwrite rename unlink
    full_audit:failure = none
    full_audit:facility = local5
    full_audit:priority = noticeПояснения по параметрам:
- full_audit:prefix— запись сообщений в системный журнал с префиксом:-  %S— название шары.
- %u— имя пользователя.
- %I— ip-адрес пользователя.
 
-  
- full_audit:success/full_audit:failure— фиксирование удачных/неудачных событий (создание, удаление каталога, запись файла, переименование, удаление).- Полный список возможных команд.
- full_audit:facility/full_audit:priority— параметры системного журнала (syslog), с помощью которых мы идентифицируем наши сообщения от samba.
vfs object перечисляем все объекты через пробел.После изменения конфигурации, перезапускаем samba, командой:
/etc/init.d/smbd restartНастройка вывода логирования
По-умолчанию логирование записывается в файлы rsyslog и messages и выглядит это следующим образом:
Jan 17 16:14:45 datastore1 smbd_audit: DISK_Z|user1|10.10.16.31|pwrite|ok|test.doc
Jan 17 16:14:04 datastore1 smbd_audit: DISK_Z|user1|10.10.10.21|unlink|ok|test.doc
Jan 17 16:14:04 datastore1 smbd_audit: DISK_Z|user1|10.10.10.21|mkdir|ok|Новая папка
Jan 17 16:14:04 datastore1 smbd_audit: DISK_Z|user1|10.10.10.21|rename|ok|./Новая папка|./Новая папка 2
Jan 17 16:14:04 datastore1 smbd_audit: DISK_Z|user1|10.10.10.21|rmdir|ok|Новая папка 2Для удобства настроим логирование в отдельный файл и настроим для этого файла ротацию.
Запретим логирование событий local5 в файлы rsyslog и messages и последней строкой укажем файл в который необходимо выполнять логирование. Файл /etc/rsyslog.conf приводим к виду:
*.*;local5,auth,authpriv.none -/var/log/syslog
*.=info;*.=notice;*.=warn;\
local5,auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages
local5.notice -/var/log/samba/audit_shares.logДля применения изменений перезапускаем rsyslog.
/etc/init.d/rsyslog restartПоследний штрих, это настройка ротации для лог-файла. В файл /etc/logrotate.d/samba добавляем строки:
/var/log/samba/audit_shares.log {
        daily
        rotate 60
        missingok
        compress
        notifempty
        olddir /var/log/samba/audit_old
}ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
 
						 
                     
                     
                    
По ссылке https://www.samba.org/samba/docs/current/man-html/vfs_full_audit.8.html уже указаны новые названия для некоторых операций. Например вместо mkdir нужно mkdirat. Иначе будут логироваться все операции.