'setcap'은 마지막 기능을 덮어 씁니다. 여러 기능을 어떻게 설정합니까?


9

node.js에 포트 80을 수신 대기하고 컴퓨터를 종료하는 기능을 제공하고 싶습니다. 처음에는이 두 명령을 순서대로 시도했습니다.

setcap cap_net_bind_service=+ep /usr/bin/nodejs
setcap cap_sys_boot=+ep /usr/bin/nodejs

그런 다음 내 앱이 포트 80에 바인딩하지 못했습니다. getcap로 확인했습니다.

# getcap /usr/bin/nodejs
/usr/bin/nodejs = cap_sys_boot+ep

cap_net_bind_service에 대해 setcap을 다시 실행하면 :

# getcap /usr/bin/nodejs
/usr/bin/nodejs = cap_net_bind_service+ep

매뉴얼 페이지 http://linux.die.net/man/8/setcap 에 여러 기능 설정에 대한 내용이 없으며 절망적 인 일을 시도해보십시오.

# setcap cap_net_bind_service=+ep /usr/bin/nodejs cap_sys_boot=+ep /usr/bin/nodejs
# getcap /usr/bin/nodejs
/usr/bin/nodejs = cap_sys_boot+ep
# setcap cap_net_bind_service=+ep cap_sys_boot=+ep /usr/bin/nodejs
Failed to set capabilities on file `cap_sys_boot=+ep' (No such file or directory)

여러 기능을 어떻게 설정합니까?

답변:


17

마지막 절망적 인 구문 추측은 다음과 같습니다.

# setcap cap_net_bind_service,cap_sys_boot=+ep /usr/bin/nodejs
# getcap /usr/bin/nodejs
/usr/bin/nodejs = cap_net_bind_service,cap_sys_boot+ep

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