루트가 아닌 사용자가 권한있는 포트에서 수신 대기하는 방법


11

syslog가 Linux 상자에서 루트가 아닌 사용자로 실행되기를 원합니다. 따라서 포트 514에 바인딩 할 수 없습니다. 권한이있는 포트이기 때문입니다. 관리자가 아닌 사용자에게 "foo"포트 514에서 수신 대기 할 수있는 권한을 부여 할 수있는 방법이 있습니까?

답변:


10
setcap 'cap_net_bind_service=+ep' /path/to/syslogd

비 고대 리눅스 커널 필요 ( 2.6.24 이상)


3

rinetd포트 514에서 수신 대기하고 다른 포트 (1024 이상, 1514)로 연결을 전달 하도록 구성 할 수 있습니다 (모두 배포의 표준 리포지토리에서 사용 가능). 이렇게하면 권한이없는 사용자 프로세스는 1514에서 수신 대기하고 rinetd연결을 전달하여 514에서 수신 대기중인 것으로 보입니다.

이것은 TCP 연결에서만 작동합니다. TCP 대신 또는 이와 같이 UDP (또는 다른 것)를 지원해야하는 경우 iptables 변환 규칙을 사용하여 동일한 효과를 얻을 수 있습니다.


아 너무 쉬웠어요 우분투 에서이
Ivan Ivan


2

권한이없는 포트에서 수신 대기하고 iptables dnat를 사용하여 연결을 재 지정하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.