SElinux error : ValueError : 포트 TCP / 5000이 이미 정의되었습니다


13

포트 5000의 아파치에 대해 SELinux에 예외를 추가하려고 시도했기 때문에 다음 명령을 사용했습니다.

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

그러나 오류를 반환합니다.

ValueError: Port tcp/5000 already defined

나는 이것이 명령과 함께 있는지 확인하려고 노력했다.

semanage port -l |grep 5000

출력을 준

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

보시다시피 5000은 목록에 없습니다.

내가 빠진 것이 있습니까? 노력해 주셔서 감사합니다

그래서 다른 서비스가 TCP 포트 5000에 대해 정의 된 상태를 가지고 있음을 발견했습니다.

그러나 -a옵션 -m을 수정 으로 대체하여 tcp port 5000을http_port_t

답변:


28

그래서 다른 서비스가 TCP 포트 5000에 대해 정의 된 상태를 가지고 있음을 발견했습니다.

그러나 대체하여 -a함께 옵션을 -m수정하기위한 추가 tcp port 5000http_port_t

따라서 작동 한 명령은 다음과 같습니다.

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

10

처리해야하는 시스템 (C6, C7 및 F24)에서 tcp 포트 5000의 SELinux 컨텍스트는 commplex_port_t입니다. 이것이 추가하려고 할 때 오류 메시지가 표시되는 이유입니다.

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

에서 TCP 포트 5000의 컨텍스트를 변경하려면 commplex_port_thttp_port_t에 -m을 사용해야합니다 당신 | -수정 스위치

-m, --modify     Modify a OBJECT record NAME

그래서

semanage port -m -t http_port_t -p tcp 5000

당신이 원하는 것을해야합니다

semanage port -l | grep 5000
http_port_t                tcp      5000, 80, 81, 443, 488, 8008, 8009, 8443, 9000

예, 고맙습니다. 제가 필요한 일을했습니다. 나는 동료의 도움으로 블로그의 코멘트 섹션에 대한 답변을 우연히 발견했다 :)
panickedprocrastinator
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.