'setcap' sovrascrive l'ultima funzionalità. Come posso impostare più funzionalità?


9

Voglio dare a node.js la possibilità di ascoltare sulla porta 80 e spegnere il computer. Inizialmente ho provato questi due comandi in sequenza:

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

Quindi la mia app non è riuscita a collegarsi alla porta 80. Ho controllato con getcap:

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

Se eseguo nuovamente setcap per cap_net_bind_service:

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

Non vedo nulla nella pagina man http://linux.die.net/man/8/setcap sull'impostazione di più funzionalità e provo alcune cose disperate:

# 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)

Come posso impostare più funzionalità?

Risposte:


17

E un'ultima ipotesi disperata ripaga:

# 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

per favore, spunta. Hai la risposta corretta
ctrl-alt-delor,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.