Błąd SElinux: Wartość Błąd: Port tcp / 5000 już zdefiniowany

13

Próbowałem dodać wyjątek do SELinuksa dla apache na porcie 5000, więc użyłem polecenia:

 # semanage port -a -t http_port_t -p tcp 5000

Ale zwraca błąd,

ValueError: Port tcp/5000 already defined

Próbowałem sprawdzić, czy tak jest za pomocą polecenia:

semanage port -l |grep 5000

co dało wynik,

http_port_t                    tcp      80, 81, 443, 488, 8008, 8009, 8443, 9000

Jak widać, 5000 nie ma na liście.

Czy brakuje mi czegoś oczywistego? Z góry dziękuję za twój wysiłek

Odkryłem więc, że inna usługa ma zdefiniowany status dla portu TCP 5000.

Ale zastępując -aopcję -mmodyfikowania, dodano port 5000 TCP dohttp_port_t

spanikowany prokrastynator
źródło

Odpowiedzi:

28

Odkryłem więc, że inna usługa ma zdefiniowany status dla portu TCP 5000.

Ale zamieniając -aopcję -mna modyfikację, dodano tcp port 5000dohttp_port_t

Tak więc polecenie, które zadziałało to:

# semanage port -m -t http_port_t -p tcp 5000
spanikowany prokrastynator
źródło
10

W systemach, które mam pod ręką (C6, C7 i F24), port 5000 TCP ma kontekst SELinuksa commplex_port_t. Właśnie dlatego, gdy spróbujesz go dodać, pojawi się komunikat o błędzie

/usr/sbin/semanage: Port tcp/5000 already defined

Aby zmienić kontekst portu 5000 TCP z commplex_port_tna http_port_t, będziesz musiał użyć opcji -m | - zmień przełącznik

-m, --modify     Modify a OBJECT record NAME

więc

semanage port -m -t http_port_t -p tcp 5000

powinien robić co chcesz

semanage port -l | grep 5000
http_port_t                tcp      5000, 80, 81, 443, 488, 8008, 8009, 8443, 9000
użytkownik9517
źródło
Tak, dziękuję, zrobił to, czego potrzebowałem. Natknąłem się na odpowiedź w sekcji komentarzy na blogu również z pomocą mojego kolegi :)
panickedprocrastinator,