Batalkan `setcap` kapabilitas tambahan pada excutable


15

Sebuah jawaban untuk Linux: memungkinkan pengguna untuk mendengarkan port di bawah 1024 yang ditentukan memberikan izin tambahan yang dapat dieksekusi menggunakan setcapsedemikian rupa sehingga program dapat mengikat ke port <1024:

setcap 'cap_net_bind_service=+ep' /path/to/program

Apa cara yang benar untuk membatalkan izin ini?

Jawaban:


19

Untuk menghapus kapabilitas dari suatu file gunakan -rflag

setcap -r /path/to/program

Ini akan mengakibatkan program tidak memiliki kemampuan.


Nah, itu jauh lebih jelas setelah membaca kembali manhalaman pendek itu >.>
user2943160

11

Apa yang diposting @ stephen-harris benar. Tapi saya percaya itu menghilangkan semua kemampuan yang ditambahkan ke program dalam satu kesempatan. Untuk menghapus kemampuan tertentu, berikut ini akan berfungsi (mengikuti contoh dalam pertanyaan)

setcap 'cap_net_bind_service=-ep' /path/to/program,

Perhatikan tanda '-'. Anda dapat memverifikasi kapabilitas {efek dari perintah} di atas yang dapat dieksekusi sebagai berikut:

getcap /path/to/program

Dalam kasus setcap -r, semua kemampuan akan hilang dan hasil getcap akan kosong sedangkan '-ep' hanya menghapus apa yang Anda tambahkan dengan '+ ep'. Sangat berguna ketika Anda memberikan banyak kemampuan dan ingin menghapusnya secara selektif.

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.