Ich möchte node.js die Möglichkeit geben, Port 80 abzuhören und den Computer herunterzufahren. Anfangs habe ich diese beiden Befehle nacheinander ausprobiert:
setcap cap_net_bind_service=+ep /usr/bin/nodejs
setcap cap_sys_boot=+ep /usr/bin/nodejs
Dann konnte meine App nicht an Port 80 gebunden werden. Ich überprüfte mit getcap:
# getcap /usr/bin/nodejs
/usr/bin/nodejs = cap_sys_boot+ep
Wenn ich setcap erneut für cap_net_bind_service ausführe:
# getcap /usr/bin/nodejs
/usr/bin/nodejs = cap_net_bind_service+ep
Ich sehe auf der Manpage http://linux.die.net/man/8/setcap nichts über das Festlegen mehrerer Funktionen und probiere einige Dinge verzweifelt aus:
# 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)
Wie stelle ich mehrere Funktionen ein?
capabilities
setcap
Antonius Bloch
quelle
quelle