Подтвердить что ты не робот

Использование setcap в linux

Чтобы добавить функцию cap_net_raw (например,/bin/ping), мы используем следующее:

#setcap cap_net_raw=ep /bin/ping

В чем смысл ep и почему это требуется здесь?

Спасибо.

4b9b3361

Ответ 1

Это устанавливает бит CAP_NET_RAW как в наборах "эффективных" (e), так и "разрешенных" (p). Эти два набора вместе с набором "наследуемых" определяют возможности, которые процесс имеет или может установить.

Подробнее здесь:

возможности - справочная страница Linux

Наборы возможностей

Каждый поток имеет три набора возможностей, содержащих ноль или более выше возможностей:

Effective - возможности, используемые ядром для выполните проверки разрешений для потока.

Permitted - возможности что поток может принимать (т.е. предельное дополнение для эффективные и наследуемые наборы). Если поток отключает его разрешенный набор, он никогда не сможет повторно приобрести эту возможность (если только он exec() s - программа с именем пользователя-пользователя).

inheritable - возможности сохраняется через execve (2). Ребенок, созданный через fork (2), наследует копии его родительских наборов возможностей. См. Ниже для обсуждения обработка возможностей во время exec(). Используя capset (2), поток может управлять своими собственными наборами возможностей или, если у него есть CAP_SETPCAP возможности, потоков в другом процессе.