포트 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
답변
그래서 다른 서비스가 TCP 포트 5000에 대해 정의 된 상태를 가지고 있음을 발견했습니다.
그러나 대체하여 -a
함께 옵션을 -m
수정하기위한 추가 tcp port 5000
에http_port_t
따라서 작동 한 명령은 다음과 같습니다.
# semanage port -m -t http_port_t -p tcp 5000
답변
처리해야하는 시스템 (C6, C7 및 F24)에서 tcp 포트 5000의 SELinux 컨텍스트는 commplex_port_t
입니다. 이것이 추가하려고 할 때 오류 메시지가 표시되는 이유입니다.
/usr/sbin/semanage: Port tcp/5000 already defined
에서 TCP 포트 5000의 컨텍스트를 변경하려면 commplex_port_t
에 http_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