Chciałbym chociaż raz zostawić SELinux działający na serwerze dla rzekomego zwiększonego bezpieczeństwa.
Zazwyczaj wyłączam SELinux, aby cokolwiek działało.
Jak mam powiedzieć SELinux, aby zezwalał na połączenia MySQL?
Najbardziej znalazłem w dokumentacji ten wiersz z mysql.com:
Jeśli pracujesz pod Linuksem i włączony jest Linux z podwyższonym poziomem bezpieczeństwa (SELinux), upewnij się, że wyłączyłeś ochronę SELinuksa dla procesu mysqld.
wow ... to naprawdę pomocne.
getsebool -a | grep mysql
6. Dokładne kroki podjęte w celu odtworzeniaOdpowiedzi:
Aby sprawdzić SELinux
Aby zobaczyć, jakie flagi są ustawione w procesach httpd
Aby zezwolić Apache na łączenie się ze zdalną bazą danych przez SELinux
Użycie opcji -P powoduje, że zmiana jest trwała. Bez tej opcji wartość logiczna byłaby resetowana do 0 podczas ponownego uruchamiania.
źródło
setsebool -P httpd_can_network_connect 1
może być również potrzebne. Zostało to zasugerowane w moich logach poprzez uruchomienieausearch -m avc -ts today | audit2why
zgodnie z sugestią vnix27.Czy pojawia się błąd? Jakiego smaku linuksa używasz? Kontekst bezpieczeństwa jest dobrym miejscem na rozpoczęcie, jeśli wystąpi błąd. ls-Z da kontekst ... Ale twoje pytanie jest bardzo niejasne.
źródło
Najwyraźniej konfiguracja selinux nie jest trywialna. Możesz zacząć tutaj .
przełącza selinux w tryb permissive, w którym pozwala na wszystko oprócz rejestrowania tego, na co pozwala. Ponowne uruchomienie lub
powraca do blokowania wszystkiego, na co nie zezwala polityka.
Sprawdź te dokumenty polityki selinux dla mySQL w Fedorze .
źródło
Jesteś pewien, że to selinux? Selinux powinien umożliwiać normalne połączenia z zewnątrz. Może to być również zapora ogniowa. Jeśli masz lokalne usługi próbujące połączyć się z mysqld, to coś innego: http://docs.fedoraproject.org/en-US/Fedora/13/html/Managing_Confined_Services/sect-Managing_Confined_Services-MySQL-Booleans.html
źródło
ausearch
Komenda może pomóc znaleźć dziennik błędów.źródło
możesz też zbudować politykę lokalną:
„Możesz wygenerować lokalny moduł zasad, aby zezwolić na ten dostęp. Na razie zezwól na ten dostęp, wykonując:”
grep httpd /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp
lub włącz globalnie dla rzeczywistej sesji:
lub na stałe:
źródło