Jawaban:
Izin yang diperluas seperti daftar kontrol akses yang ditetapkan oleh setfacl
dan bendera kemampuan yang ditetapkan oleh setcap
disimpan di tempat yang sama dengan izin tradisional dan mengatur [ug] bendera id yang ditetapkan oleh chmod
: dalam inode file.
(Mereka sebenarnya dapat disimpan dalam blok terpisah pada disk, karena sebuah inode memiliki ukuran tetap yang memiliki ruang untuk bit izin tradisional tetapi tidak untuk izin diperpanjang yang berpotensi tidak terbatas. Tapi itu hanya penting dalam kasus yang jarang terjadi, seperti harus perawatan yang setcap
bisa kehabisan ruang disk. Tetapi bahkan chmod
bisa kehabisan ruang disk pada sistem yang menggunakan deduplikasi!)
GNU ls tidak menampilkan atribut setcap file. Anda dapat menampilkannya dengan getcap
. Anda dapat membuat daftar semua atribut yang diperluas dengan getfattr -d -m -
; atribut setcap dipanggil security.capability
dan dikodekan dalam format biner yang diterjemahkan getcap
untuk Anda.
setcap mengatur kemampuan file yang disimpan dalam atribut extended filesystem. Ini dijelaskan dalam man 7 capabilities
:
Set kemampuan file disimpan dalam atribut yang diperluas (lihat setxattr (2)) bernama security.capability.
Anda dapat memeriksa kapabilitas proses yang sedang berjalan dengan memeriksa bidang CapInh / CapPrm / CapEff di /proc/PID/status
. Lihat jawaban saya untuk " Bagaimana mengatur kapabilitas dengan perintah setcap? " Untuk penjelasan tentang bagaimana kapabilitas diterapkan pada proses di exec.
/usr/bin/sleep
dan berikan kemampuan untuk salinan ini.