'setcap' menimpa kemampuan terakhir. Bagaimana cara mengatur beberapa kemampuan?


9

Saya ingin memberikan node.js kemampuan untuk mendengarkan pada port 80, dan mematikan komputer. Awalnya saya mencoba dua perintah ini secara berurutan:

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

Kemudian aplikasi saya gagal mengikat ke port 80. Saya memeriksa dengan getcap:

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

Jika saya menjalankan setcap lagi untuk cap_net_bind_service:

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

Saya tidak melihat apa pun di halaman manual http://linux.die.net/man/8/setcap tentang pengaturan beberapa kemampuan, dan mencoba beberapa hal dengan putus asa:

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

Bagaimana cara mengatur beberapa kemampuan?

Jawaban:


17

Dan satu tebakan sintaksis terakhir membuahkan hasil:

# 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

silahkan centang. Anda memiliki jawaban yang benar.
ctrl-alt-delor
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.