Відповіді:
Розширені дозволи, такі як списки контролю доступу, встановлені setfacl
та встановлені прапорами можливостей setcap
, зберігаються там же, що і традиційні дозволи та встановлені [ug] id прапори, встановлені chmod
: у вкладці файлу.
(Насправді вони можуть зберігатися в окремому блоці на диску, тому що в inode є фіксований розмір, який має місце для традиційних бітів дозволу, але не для потенційно необмежених розширених дозволів. Але це має значення лише в рідкісних випадках, наприклад, якщо потрібно догляд, який setcap
міг би вичерпати місця на диску. Але навіть chmod
міг вичерпати місце на диску в системі, яка використовує дедуплікацію!
GNU ls не відображає атрибути setcap для файлу. Ви можете відобразити їх за допомогою getcap
. Ви можете перелічити всі розширені атрибути за допомогою getfattr -d -m -
; атрибут setcap викликається security.capability
і кодується у двійковому форматі, який getcap
декодує для вас.
setcap встановлює можливості файлів, які зберігаються в розширеному атрибуті файлової системи. Вони пояснюються в man 7 capabilities
:
Набори можливостей файлів зберігаються в розширеному атрибуті (див. Setxattr (2)) під назвою security.capability.
Ви можете перевірити можливості запущеного процесу, вивчивши поля CapInh / CapPrm / CapEff в /proc/PID/status
. Дивіться мою відповідь на тему " Як встановити можливості за допомогою команди setcap? " Для пояснення того, як ці можливості застосовуються до процесу в exec.
/usr/bin/sleep
та надайте можливості цій копії.