Jestem nowy w SELinux. pochodzi z Debiana. Chcę dać httpd
dostęp do katalogu.
Przeglądarka alertów SELinux sugeruje:
# grep httpd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp
Nie mogłem zrozumieć, jak działa to polecenie. Nigdzie nie podam ścieżki katalogu. skąd wie, który katalog zezwala na httpd?
Wcześniej użyłem grep do wyodrębnienia tekstu z pliku wyjściowego lub pliku. Ale tutaj grep jest używany w procesie. Tego nie dostałem.
Jakie jest rzeczywiste rozwiązanie. Jeśli chcę dać dostęp do zapisu httpd do katalogu?
fedora
rhel
apache-httpd
selinux
Neel Basu
źródło
źródło
Odpowiedzi:
Oto jak trwale zmienić kontekst katalogu:
Oto więcej dokumentacji na temat różnych kontekstów dla httpd:
RHEL 7: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/SELinux_Users_and_Administrators_Guide/sect-Managing_Confined_Services-The_Apache_HTTP_Server-Types.html
RHEL 6: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Confined_Services/sect-Managing_Confined_Services-The_Apache_HTTP_Server-Types.html
źródło
SELinux wykorzystuje rozszerzone atrybuty, które można dołączyć do struktur katalogów na dysku. Pomyśl, jeśli są to metadane. Listy kontroli dostępu (ACL) są kolejnymi.
Rozszerzone atrybuty, które musisz dołączyć do katalogu, nazywane są kontekstami, a SELinux działa jak policjant ruchu, upewniając się, że plik wykonywalny, który ma określone konteksty, ma dostęp do systemu plików na podstawie tych kontekstów. Możesz zobaczyć, co jest dostępne w katalogu, używając
-Z
przełącznika nals
.Tutaj widać, że katalogi te mają kontekst
httpd_sys_script_exec_t:s0
w katalogucgi-bin
. ihtml
reż. mahttpd_sys_content_t:s0
.Możesz dodać je za pomocą
chcon
polecenia:Polecenie, o które pytasz, po prostu załaduje moduł.
mypoll.pp
Nie sądzę, aby udzielił jakichkolwiek uprawnień, prawdopodobnie jest więcej wiadomościaudit.log
, których brakuje w poleceniu, które powiedzą ci bardziej szczegółowo, czego potrzebujesz zrobić, aby umożliwić dostęp.Zachęcam do poświęcenia trochę czasu i zapoznania się z SELinux. Na początku jest to mylące, ale ogólnie jest proste, po spędzeniu z nim trochę czasu. Zapoznaj się z poniższymi zasobami, aby zacząć.
Bibliografia
źródło
chcon -R -t httpd_sys_content_t <dir>