Product SiteDocumentation Site

Глава 7. Поиск и устранение неисправностей

7.1. Что происходит, когда блокируется доступ
7.2. Три основные причины возникновения проблем
7.2.1. Проблема Меток (проблема маркирования)
7.2.2. Как работают ограниченные службы?
7.2.3. Разбор правил и нарушенная работа приложений
7.3. Устранение проблем
7.3.1. Разрешения Linux
7.3.2. Возможные причины блокировок без оповещения
7.3.3. Cтраницы руководства (manual pages) для служб
7.3.4. Разрешающие домены (Permissive Domains)
7.3.5. Поиск и просмотр блокировок
7.3.6. Необработанные сообщения аудита
7.3.7. Сообщения sealert
7.3.8. Предоставление доступа: audit2allow
В следующей главе описывается, что происходит, когда SELinux блокирует доступ: проблемы в решении вызывают три основных причины; где найти информацию о правильных метках; анализ отказов доступа SELinux; и создание специфически настроенных модулей с помощью audit2allow.

7.1. Что происходит, когда блокируется доступ

Решения SELinux, такие как предоставление или блокирование доступа, кэшируются. Этот кэш называется Access Vector Cache (AVC) или кэш вектора доступа. Сообщения о блокировании доступа, журналируются, когда SELinux блокирует доступ. Эти отказы называются "Блокировками AVC" или "AVC denials" и журналируется в различные файлы, в зависимости от того, какой демон запущен:
ДемонРасположение файлов с журналами событий
auditd on/var/log/audit/audit.log
auditd off; rsyslogd on/var/log/messages
setroubleshootd, rsyslogd, and auditd on/var/log/audit/audit.log. Проще читать сообщения о блокировках, дублируемые в /var/log/messages
Если запущена X Window System, а также установлены пакеты setroubleshoot и setroubleshoot-server, и демоны setroubleshootd и auditd запущены, то, когда SELinux блокирует доступ, отображается предупреждение:
Нажатие на 'Show' показывает детальный анализ причин, почему SELinux блокировал доступ, и возможное решение для открытия доступа. Если система X Window System не запущена, событие блокировки доступа менее очевидно. Например, пользователи просматривающие веб-сайт могут получить ошибку похожую, на показанную ниже:
Forbidden

You don't have permission to access file name on this server
В таких ситуациях, если правила DAC (стандартные разрешения Linux) разрешают доступ, проверьте файлы /var/log/messages и /var/log/audit/audit.log на события "SELinux is preventing" и "denied". Это можно выполнить, выполнив следующие команды от имени пользователя root:
grep "SELinux is preventing" /var/log/messages
grep "denied" /var/log/audit/audit.log