Product SiteDocumentation Site

6.15.3. Уровни журналирования

Установить уровень журналирования для Samba можно, используя параметр log level файла /etc/samba/smb.conf. Для разных классов отладки можно указывать разные уровни журналирования и отдельные файлы журналов.
Уровень журналирования задается в виде целого числа в диапазоне от 0 до 10, где 0 соответствует отключению вывода отладочной информации, а 10 — обеспечивает вывод полной отладочной информации об ошибках и проблемах, которые могут возникать в процессе работы Samba. Оптимальным для получения отладочной информации является уровень 3. Уровни выше 3 предназначены преимущественно для выявления внутренних ошибок Samba. Их использование может привести к существенному снижению производительности сервера.
В таблице Классы отладки приведено описание доступных классов отладки.

Таблица 6.15. Классы отладки

Класс отладки
Описание
all
Включает все сообщения отладки и подходит для общего мониторинга системы
tdb
Отвечает за отладку работы с TDB (Trivial Database). TDB — это простая встраиваемая база данных, используемая Samba для хранения различных данных, таких как сессии, аутентификационные данные, метаданные файлов и другие внутренние структуры
printdrivers
Используется для отладки драйверов печати. Этот класс полезен для отладки и анализа работы с принтерами, включая загрузку, установку и настройку драйверов
lanman
Предназначен для отладки протоколов LAN Manager, что может быть полезно при работе с устаревшими системами или приложениями
smb
Предназначен для регистрации вызовов по протоколу SMB
rpc_parse
Включает информацию об обработке RPC-сообщений. Может использоваться при анализе репликации
rpc_srv
Включает информацию о регистрации конечных точек RPC
rpc_cli
Предназначен для регистрации информации, связанной с работой RPC-клиента (Remote Procedure Call). Используется для отладки взаимодействия между клиентом и сервером в контексте RPC-вызовов, которые используются для выполнения различных операций в Samba, таких как управление доменными службами, доступ к общим ресурсам и другие действия, связанные с протоколами SMB/CIFS
passdb
Предназначен для регистрации доступа к хранилищу данных паролей
sam
Предназначен для регистрации событий, связанных с управлением учетными записями пользователей и групп в AD (SAM — Security Accounts Manager)
auth
Предназначен для регистрации событий аутентификации пользователей. Включает процессы проверки учетных данных (логин/пароль), использование Kerberos, NTLM и других механизмов аутентификации
winbind
Предназначен для регистрации сообщений при присоединении клиентов к Samba для проведения различных операций. Позволяет анализировать работу сервиса Winbind
vfs
Предназначен для журналирования проблем с правами доступа и некорректным поведением бэкенда, абстрагируемого VFS
idmap
Предназначен для регистрации событий установки соответствия между SID и группами в Linux (Identity Mapping)
quota
Предназначен для регистрации информации, связанной с управлением квотами (quotas) на файловых системах. Квоты используются для ограничения объема дискового пространства, которое может использовать пользователь или группа
acls
Предназначен для регистрации событий проверки и изменения прав доступа на основе списков управления доступом (Access Control Lists)
locking
Предназначен для регистрации событий блокировок файлов базы данных каталога и конкретных записей при одновременном доступе к ним разных клиентов
msdfs
Предназначен для регистрации событий, связанных с поддержкой DFS (Distributed File System) в Samba. DFS позволяет объединять несколько общих ресурсов в одну виртуальную иерархию
dmapi
Предназначен для регистрации событий, связанных с использованием DMAPI (Data Management API) в Samba
registry
Предназначен для регистрации взаимодействия с данными реестра Windows, которые используются в службе каталогов
scavenger
Предназначен для регистрации событий «сборки мусора» (garbage collection) в Samba. Этот процесс используется для очистки устаревших или неиспользуемых данных, таких как открытые файлы, сессии, аутентификации и другие ресурсы, которые больше не нужны
dns
Предназначен для регистрации запросов на поиск и изменение записей DNS
ldb
Предназначен для регистрации подключений к базе данных LDAP
tevent
Предназначен для регистрации сообщений библиотеки управления памятью talloc
auth_audit, auth_json_audit
Предназначены для регистрации событий аутентификации и авторизации учетных записей (успешных и неуспешных попытках входа в систему, изменениях паролей и изменениях статусов учетных записей). Могут использоваться, например, для отслеживания попыток несанкционированного входа
kerberos
Предназначен для регистрации событий взаимодействия по протоколу Kerberos
drs_repl
Предназначен для регистрации событий входящей и исходящей репликации на контроллере домена
smb2
Предназначен для регистрации вызовов по протоколу SMB (SMB2 и SMB3)
smb2_credits
Предназначен для регистрации запросов передачи данных по протоколу SMB. Записи содержат информацию о количестве переданных запросов и количестве запросов, которые осталось выполнить для завершения передачи файлов
dsdb_audit, dsdb_json_audit
Предназначены для регистрации изменений в базе данных контроллера домена Samba (sam.ldb) (изменения пользователей, групп, разрешений, структуры каталога и т. д.)
dsdb_password_audit, dsdb_password_json_audit
Предназначены для регистрации событий изменения и сброса паролей
dsdb_transaction_audit, dsdb_transaction_json_audit
Предназначены для регистрации транзакций (фиксация, откат) в базе данных каталога. Могут использоваться для контроля целостности данных
dsdb_group_audit, dsdb_group_json_audit
Предназначены для регистрации изменений в составе групп
Некоторые модули при первом использовании регистрируют динамические классы отладки, например:
  • catia
  • dfs_samba4
  • extd_audit
  • fileid
  • fruit
  • full_audit
  • media_harmony
  • preopen
  • recycle
  • shadow_copy
  • unityed_media
  • virusfilter
Чтобы настроить ведение журналов для определенных классов так, чтобы они писались в другой файл, а не в общий файл журнала, можно добавить @PATH к классу.
Получить дополнительную информацию и список классов отладки можно на справочной странице smb.conf(5) (man smb.conf).

6.15.3.1. Установка уровня журналирования в файле smb.conf

Примеры использования параметра log level для настройки уровня журналирования:
  • установить уровень журнала 3 для всех классов отладки:
    log level = 3
  • установить общий уровень журнала 3, а для классов passdb и auth — 5:
    log level = 3 passdb:5 auth:5
  • установить общий уровень журнала 3, а для класса winbind — 1 и писать логи в файл /var/log/winbind.log:
    log level = 3 winbind:1@/var/log/winbind.log

6.15.3.2. Установка уровня журналирования при выполнении команд

Команды Samba используют уровень журналирования, установленный в параметре log level в файле /etc/samba/smb.conf. Для всех команд Samba это значение можно переопределить, используя следующую опцию:
-d DEBUGLEVEL, --debuglevel=DEBUGLEVEL
Например:
$ net usershare add Share2 /tmp/share2 -d 5
# samba-tool group add testgroup12 -d dsdb_audit:3