Product SiteDocumentation Site

7.3.5. Поиск и просмотр блокировок

В этом разделе предполагается, что пакеты setroubleshoot, setroubleshoot-server, dbus и audit установлены, и демоны auditd, rsyslogd и setroubleshootd запущены. В соответствии с разделом Раздел 5.2, «Используемые Log-файлы» об информации о запуске этих демонов. Часть этих утилит используется для поиска и просмотра блокировок SELinux, такие как ausearch, aureport и sealert.
ausearch
The audit package provides ausearch. From the ausearch(8) manual page: "ausearch is a tool that can query the audit daemon logs based for events based on different search criteria"[14]. The ausearch tool accesses /var/log/audit/audit.log, and as such, must be run as the Linux root user:
ПоискКоманда
все блокировки/sbin/ausearch -m avc
блокировки за сегодняшний день/sbin/ausearch -m avc -ts today
блокировки за последние 10 минут/sbin/ausearch -m avc -ts recent
Для поиска блокировок SELinux для определенной службы, используется опция -c comm-name, где comm-name "исполняемое имя файла"[15], например, httpd для Apache HTTP Server и smbd для Samba:
/sbin/ausearch -m avc -c httpd
/sbin/ausearch -m avc -c smbd
Refer to the ausearch(8) manual page for further ausearch options.
aureport
The audit package provides aureport. From the aureport(8) manual page: "aureport is a tool that produces summary reports of the audit system logs"[16]. The aureport tool accesses /var/log/audit/audit.log, and as such, must be run as the Linux root user. To view a list of SELinux denials and how often each one occurred, run the aureport -a command. The following is example output that includes two denials:
# /sbin/aureport -a

AVC Report
========================================================
# date time comm subj syscall class permission obj event
========================================================
1. 05/01/2009 21:41:39 httpd unconfined_u:system_r:httpd_t:s0 195 file getattr system_u:object_r:samba_share_t:s0 denied 2
2. 05/03/2009 22:00:25 vsftpd unconfined_u:system_r:ftpd_t:s0 5 file read unconfined_u:object_r:cifs_t:s0 denied 4
Refer to the aureport(8) manual page for further aureport options.
sealert
Пакет setroubleshoot-server предоставляет sealert, которая читает сообщения о блокировках, транслированные setroubleshoot-server. Блокировкам назначаются ID, как показано в /var/log/messages. Ниже показан пример блокировки из messages:
setroubleshoot: SELinux is preventing httpd (httpd_t) "getattr" to /var/www/html/file1 (samba_share_t). For complete SELinux messages. run sealert -l 84e0b04d-d0ad-4347-8317-22e74f6cd020
В этом примере, ID блокировки 84e0b04d-d0ad-4347-8317-22e74f6cd020. Опция -l берет ID в качестве аргумента. Запуск команды sealert -l 84e0b04d-d0ad-4347-8317-22e74f6cd020 покажет детальный анализ причины, почему SELinux блокировал доступ и возможное решение предоставления доступа.
Если запущена X Window System, и установлены пакеты setroubleshoot и setroubleshoot-server, а также демоны setroubleshootd, dbus и auditd запущены, то при блокировке доступа SELinux будет показано предупреждение. Нажмите 'Show', это запустит GUI sealert и покажет блокировку в HTML формате:
Refer to the sealert(8) manual page for further sealert options.


[14] From the ausearch(8) manual page, as shipped with the audit package in Fedora 13.
[15] из страницы руководства ausearch(8), поставляемой с пакетом audit в Fedora 13.
[16] From the aureport(8) manual page, as shipped with the audit package in Fedora 13.