Loading

Аудит работы пользователей через сервер SAMBA

13.05.2011 - 13:27

В нашей сети в качестве файлопомойки по политике всем пользователям подключен сетевой диск "W". Необходимо было как то контролировать действия юзеров с данным диском (открытие, создание, удаление или переименование файлов и каталогов). В самбе уже есть для этих целей необходимый модуль "full_audit", который умеет все выше перечисленное. В результате все необходимые данные будут записываться в файл /var/log/samba/audit.log.
Если хотим мониторить все шары, то вносим настройки аудита в секцию [global], а если только определенные, то в секцию конкретной шары. Например, редактируем конфиг самбы:

[root@fs /]# cat >> /usr/local/etc/smb.conf
..............
# Моя шара с правами - 777.
[pub]
   comment = Доступ на чтение/запись разрешена всем
   path = /mnt/ad1/
   veto files = /*.avi/*.mp3/*.mkv/*.wav/*.wma/*.fly/*.mpg/*.mpeg/*.vob/*.3gp/*.exe/*.reg/*.src/*.pif/*.cmd/*.bat/*.inf/*.ini/*.com/*.dll/
   delete veto files = yes
   browseable = no
   writable = yes
   guest ok = yes
# Подключаем модуль "full_audit".
   vfs object = full_audit
# Уровни логирования:
# 0 - создание -удаление директорий и удаление файлов
# 1 открытие директорий, переименование файлов, изменение прав/списков_доступа ,
# 2 открытие и закрытие файлов
# 10 максимальный уровень.
   log level = 1 vfs:1
   syslog = 7
# Может принимать любые значения из набора: %u, %I, %U, %m, %s, %S, %a, %h, %H.
   full_audit:prefix = %u|%I
   full_audit:success = connect, open, mkdir, rmdir, unlink, write, rename, pwrite
   full_audit:failure = none
   full_audit:facility = local5
   full_audit:priority = notice

Передергиваем демон самбы:
[root@fs /usr/local/etc/rc.d]# ./samba reload

Теперь в /var/log/messages, будет сыпаться лог. Вот такого вида:
May 13 19:11:05 fs smbd[84930]: nobody|192.168.31.25|mkdir|ok|lymar
May 13 19:11:26 fs smbd[84930]: nobody|192.168.31.25|mkdir|ok|lymar/ASU
May 13 19:11:36 fs smbd[84930]: nobody|192.168.31.25|rename|ok|lymar/ASU|lymar/Asu-1
May 13 19:11:37 fs smbd[83898]: nobody|192.168.39.94|connect|ok|pub
May 13 19:12:07 fs smbd[84930]: nobody|192.168.31.25|rmdir|ok|lymar/Asu-1

Теперь необходимо все это складывать в отдельный файл /var/log/audit.log. Для этого необходимо подправить /etc/syslog.conf:
[root@fs /etc]# cat /etc/syslog.conf | grep local5
#добавляем local5.
*.notice;local5,authpriv.none;kern.debug;lpr.info;mail.crit;news.err    /var/log/messages
!*
local5.notice                                   /var/log/audit.log

Делаем суслогу рестарт:
[root@fs /etc/rc.d]# ./syslogd restart

Теперь логи у нас будут складываться тут /var/log/audit.log.

Ваша оценка: Нет Средняя: 5 (1 голос)