Apakah setcap-perubahan permanen


11

Saat menggunakan setcap untuk file, apakah perubahan ini permanen atau apakah saya harus mengaktifkan setcap di suatu tempat saat boot?

setcap cap_sys_nice fooexecutable

Jawaban:


15

The setcap pada file menyimpan kemampuan dalam atribut diperpanjang dengan panggilan untuk setxattr . Atribut yang diperluas ini disimpan seperti atribut lainnya (kepemilikan, hak ...) di sistem file.

Sejak kernel 2.6.24, kernel mendukung set kemampuan asosiasi dengan file yang dapat dieksekusi menggunakan setcap (8). Set kemampuan file disimpan dalam atribut yang diperluas (lihat setxattr (2)) bernama security.capability.

Jadi, Anda tidak perlu mengatur ulang batas pada setiap reboot.


bagaimana kalau file diganti?
ryanwinchester

1
@ryanwinchester jika hanya konten file yang diubah, tidak ada masalah, tetapi jika file dihapus / diciptakan kembali, kapasitas setcap akan dihapus juga.
Cédric Julien

. :( ah, sehingga masalah ini saya saya punya script yang membangun kembali direktori dan kemudian memulai mendengarkan server pada port 80. saya perlu mencari tahu cara untuk tidak harus menjalankan setcapsetiap kali
ryanwinchester

"jika hanya konten file diubah, tidak ada masalah" tidak benar. Mengubah konten file akan menyebabkan kemampuannya dihapus. Lihat unix.stackexchange.com/a/283408/2526
Richard Fearn

0

Perubahan bersifat permanen tetapi saya mengalami masalah saat digunakan dengan nodejs.

Anda dapat menggunakan authbinduntuk memberikan izin oleh pengguna

sudo touch /etc/authbind/byport/80
sudo chown user:user /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
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.