Авг 082012
 

Как обратилось ко мне пару пользователей, что у них пропали директории с файлами нужными, начал копать так и не нашел кто удалил файлы с директория на самбе.
Сразу задумался, и накопал в манах, что есть модуль аудита пользовательских действий на самбе.
Для этого нам нужно отредактировать конфигурационный файл самбы и сислога.
Приступим.
Модуль можно активировать как все шары в самбе это GLOBAL так и на отдельную шару.

# nano /usr/local/etc/smb.conf
# Активируем модуль.
vfs object = full_audit
# Уровни логированния действий.
# 0 - создание, удаление директорий, удаление файлов.
# 1 - открытие директорий, переименование файлов, изменение прав доступа.
# 2 - Закрытие, открытие файлов.
log level = 1 vfs:1
syslog = 7
# Укажим в каком формате что бы сыпались логи действий пользаков.
# Каждая строка будет начинаться с пользователь|IP адрес.
full_audit:prefix = %u|%I
# Укажим какие действия пользователей, записываются в лог-файл.
full_audit:success = connect mkdir rmdir unlink write rename pwrite readlink link
# Укажим какие ошибки мы хотелибы видеть в лог-файле, none означает не протоколируем ошибки.
full_audit:failure = none
# Позволяет управлять записью в журнал демоном syslogd.
full_audit:facility = local5
full_audit:priority = notice

Далее если мы не хотим, что бы логи складывались в общий лог системы messages.
То укажим системному логу, демогу куда мы хотим складывать логи действий на самбе.
Редактируем syslog.conf, добавим в конец файла такую запись.

# nano /etc/syslog.conf
local5.notice                                   /var/log/samba_audit.log

Вот и все.

Корзина Samba

  10 комментариев to “Аудит работы пользователей samba”

  1. Произвел настройку по данному руководству, но почему-то на одной шаре логирование идет нормально, на другой нет(не все события идут в лог). Такое ощущение, что если права доступа 777 то логи не пишутся. Хотя это только догадки… Подскажите, в чем может быть ошибка?

    • Обновлю вопрос, похоже, в другом ошибка. Если человек входит в группу root, то его логирование не ведется…

  2. Хмм. я сейчас в отпуске, как выйду на работу посмотрю что у меня.
    А нафиг рута логировать..

    • Ну, если задуматься, то незачем… Но хотелось бы чтобы работало для всех без исключения.
      Вопрос решился перезаведением пользователей в самбе. И через Yast снял/заново поставил группу проблемным пользователям. В чем точно был глюк-затрудняюсь ответить.

    • aray, все-таки не получается корректно настроить… Конфиги мои посмотреть можешь? Где я накосячил?

  3. выкладывай тут.
    Посмотрю.

    • Да в конфигах все так же как и здесь написано… Перезапускать самбу пришлось, а вместе с ней перегружать весь файловый сервак. Так как после перезапуска самбы шары отвалились и не «привалились». Но после этого заработало.

      • Нет, видно не судьба мне без помощи знающих людей разобраться…
        Логи делались ровно 1 день до 18-00. В 18-00 снялись архивы localmessages-20121120.xz и messages-20121120 логов localmessages и messages соответственно. После этого создались новые логи localmessages и messages размером 0 в которые ничего не пишется. Сам я ротацию логов не настраивал.
        В чем может быть беда-косяк? Система Suse 12.1. Конфиги samba и syslog-а прилагаю.

  4. syslog.conf»

    kern.warning;*.err;authpriv.none /dev/tty10
    kern.warning;*.err;authpriv.none |/dev/xconsole
    *.emerg *
    mail.* -/var/log/mail
    mail.info -/var/log/mail.info
    mail.warning -/var/log/mail.warn
    mail.err /var/log/mail.err
    news.crit -/var/log/news/news.crit
    news.err -/var/log/news/news.err
    news.notice -/var/log/news/news.notice
    *.=warning;*.=err -/var/log/warn
    *.crit /var/log/warn
    mail.none;news.none -/var/log/messages
    local0,local1.* -/var/log/localmessages
    local2,local3.* -/var/log/localmessages
    local4,local5.* -/var/log/localmessages
    local6,local7.* -/var/log/localmessages

    smb.conf:

    [global]
    include = /etc/samba/dhcp.conf
    logon drive = P:
    map to guest = Bad User
    logon home = \\%L\%U\.9xprofile
    printcap cache time = 750
    netbios name = Energy1
    cups options = raw
    netbios aliases = Energy1
    printing = cups
    workgroup = WORKGROUP
    logon path = \\%L\profiles\.msprofile
    os level = 35
    printcap name = cups
    usershare allow guests = Yes
    preferred master = no
    max open files = 100000
    log level = 1 vfs:1
    syslog = 7
    syslog only = no
    log file = /home/log.%U

    [corp_docs]
    path = /documents/corp_docs
    read only = No
    create mask = 0777
    force create mode = 0777
    directory mask = 0777
    force directory mode = 0777
    sync always = Yes
    strict locking = Yes
    follow symlinks = No
    vfs objects = full_audit
    full_audit:prefix = %u|%I
    full_audit:failure = none
    full_audit:success = mkdir rmdir write pwrite sendfile rename unlink
    full_audit:facility=local5
    full_audit:priority=notice

  5. ну для ротации логов я использую logrotate, очень удобно, пример.
    cist@victory1:~$ cat /etc/logrotate.d/nginx
    /var/log/nginx/*.log {
    daily
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    create 0640 www-data adm
    sharedscripts
    prerotate
    if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
    run-parts /etc/logrotate.d/httpd-prerotate; \
    fi \
    endscript
    postrotate
    [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
    endscript
    }
    ex0rcist@victory1:~$
    А насчет самбы ХЗ. на работу выйду посмотрю ка у меня.
    Но все равно не пойму нафиг рута логировать.
    У меня на серверах кроме меня и парочку ит сотрудников больше не кто не знает рутовый пароль.

 Leave a Reply

(required)

(required)

45 Запросов к базе. 0,412 Генерации страницы, 36MB Использование памяти.
Вы зашли с IP: 54.225.16.10