Де використовується дозвіл setcap, де зберігається дозвіл?


11

Використовуючи setcapдля надання додаткових дозволів бінарним файлам, слід записати новий дозвіл десь, на зберігання чи в пам'ять, де він зберігається?

Використовувати lsofяк це не працює, оскільки процес зникає занадто швидко.


Використовуйте інший процес. Зробіть копію /usr/bin/sleepта надайте можливості цій копії.
Hauke ​​Laging

Відповіді:


9

Розширені дозволи, такі як списки контролю доступу, встановлені setfaclта встановлені прапорами можливостей setcap, зберігаються там же, що і традиційні дозволи та встановлені [ug] id прапори, встановлені chmod: у вкладці файлу.

(Насправді вони можуть зберігатися в окремому блоці на диску, тому що в inode є фіксований розмір, який має місце для традиційних бітів дозволу, але не для потенційно необмежених розширених дозволів. Але це має значення лише в рідкісних випадках, наприклад, якщо потрібно догляд, який setcapміг би вичерпати місця на диску. Але навіть chmodміг вичерпати місце на диску в системі, яка використовує дедуплікацію!

GNU ls не відображає атрибути setcap для файлу. Ви можете відобразити їх за допомогою getcap. Ви можете перелічити всі розширені атрибути за допомогою getfattr -d -m -; атрибут setcap викликається security.capabilityі кодується у двійковому форматі, який getcapдекодує для вас.


4

setcap встановлює можливості файлів, які зберігаються в розширеному атрибуті файлової системи. Вони пояснюються в man 7 capabilities:

Набори можливостей файлів зберігаються в розширеному атрибуті (див. Setxattr (2)) під назвою security.capability.

Ви можете перевірити можливості запущеного процесу, вивчивши поля CapInh / CapPrm / CapEff в /proc/PID/status. Дивіться мою відповідь на тему " Як встановити можливості за допомогою команди setcap? " Для пояснення того, як ці можливості застосовуються до процесу в exec.


capsh --decode = може стати в нагоді для отримання даних, що читаються людиною.
Zulgrib
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.