'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

Якщо я знову запущу setcap для cap_net_bind_service:

# 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.