Я хотел бы на этот раз оставить SELinux запущенным на сервере для предполагаемой повышенной безопасности.
Я обычно отключаю SELinux, чтобы заставить что-либо работать.
Как мне сказать SELinux, чтобы разрешить подключения MySQL?
Самое большее, что я нашел в документации, это строка из mysql.com:
Если вы работаете под Linux и включена защита с повышенным уровнем безопасности (SELinux), убедитесь, что вы отключили защиту SELinux для процесса mysqld.
вау ... это действительно полезно
getsebool -a | grep mysql
6. Точные шаги, которые вы предприняли, чтобы воспроизвести этоОтветы:
Проверить SELinux
Чтобы увидеть, какие флаги установлены в процессах httpd
Чтобы разрешить Apache подключаться к удаленной базе данных через SELinux
Использование опции -P делает изменение постоянным. Без этой опции логическое значение будет сброшено до 0 при перезагрузке.
источник
setsebool -P httpd_can_network_connect 1
также может понадобиться Это было предложено в моих журналах, запустив,ausearch -m avc -ts today | audit2why
как предложено в комментарии vnix27.Вы получаете ошибку? Какой вкус Linux вы используете? Контекст безопасности - хорошее место для начала, если вы получаете ошибку. ls -Z даст контекст ... Но ваш вопрос очень расплывчатый.
источник
Видимо, настройка selinux не тривиальна. Вы можете начать здесь .
переводит selinux в разрешающий режим, где он разрешает все, кроме регистрации того, что разрешает. Перезагрузка или
возвращается к блокировке того, что не разрешено политикой.
Ознакомьтесь с этими документами по политике Selinux для MySQL в Fedora .
источник
Вы уверены, что это selinux? Обычные соединения извне должны быть разрешены selinux. Так что это также может быть брандмауэр. Если у вас есть локальные сервисы, пытающиеся подключиться к mysqld, это нечто иное: http://docs.fedoraproject.org/en-US/Fedora/13/html/Managing_Confined_Services/sect-Managing_Confined_Services-MySQL-Booleans.html
источник
Команда
ausearch
может помочь найти журнал ошибок.источник
Вы также можете создать локальную политику:
«Вы можете сгенерировать модуль локальной политики, чтобы разрешить такой доступ. Разрешите этот доступ, выполнив:»
grep httpd /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp
или включить глобально для фактического сеанса:
или постоянный:
источник