Как найти,что ошибка permission denied , вызвана SELinux |

Как найти,что ошибка permission denied , вызвана SELinux

Мануал

SELinux, сокращение от Security Enhanced Linux, является модулем безопасности Linux, который является частью многих дистрибутивов Linux.

Хотя SELinux повышает безопасность сервера (несмотря на то, что создается NSA), это часто приводит к некоторым неожиданным ошибкам, связанным с доступом / разрешением.

Если вы получаете одну из таких ошибок на сервере с включенным SELinux, и нет очевидных проблем с правами на файл, вы должны проверить, вызвана ли проблема SELinux.

Чтобы проверить статус SELinux, запустите:

 #  sestatus 

Вы должны получить что-то вроде этого:

SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28

“Current mode: enforcing” означает, что SELinux запущен.

Чтобы временно отключить SELinux, запустите:

 # setenforce 0 

Если это устраняет проблему, и вы больше не получите ошибки «permission denied», это означает, что проблема была вызвана SELinux.

Повторно включите его с помощью setenforce 1 и попытайтесь найти основную причину.

 # setenforce 1 

Чтобы помочь устранить неполадки, вы можете проверить файлы журнала SELinux, расположенные в /var/log/audit/audit.log.

Очень часто проблема вызвана неправильным контекстом безопасности (также называемой меткой безопасности), назначенной для затронутых файлов или папок.

Чтобы просмотреть контекст безопасности, который SELinux применил к файлам или папкам, выполните одну из следующих команд (все они отображают контексты безопасности только в разных форматах):

ls -Z or ls --context
ls --lcontext
ls --scontext

Чтобы изменить контекст безопасности, вы можете использовать команду chcon, например:

 # chcon -R -t httpd_sys_content_t /www/sites 

httpd_sys_content_t – доступ только для чтения в Apache
httpd_sys_rw_content_t – доступ для чтения / записи Apache
httpd_log_t – файлы журнала Apache
httpd_cache_t – кеширование Apache

или используйте справочный каталог:

 # chcon -R --reference=/var/www/html /www/sites 

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий