Являются ли setcap-изменения постоянными


11

При использовании setcap для файла это изменение является постоянным или я должен вызывать setcap где-нибудь во время загрузки?

setcap cap_sys_nice fooexecutable

Ответы:


15

В файле setcap хранятся возможности в расширенном атрибуте с вызовом setxattr . Этот расширенный атрибут хранится, как и другие атрибуты (право собственности, права ...) в файловой системе.

Начиная с ядра 2.6.24, ядро ​​поддерживает связывание наборов возможностей с исполняемым файлом с использованием setcap (8). Наборы возможностей файла хранятся в расширенном атрибуте (см. Setxattr (2)) с именем security.capability.

Таким образом, вам не нужно сбрасывать кепку при каждой перезагрузке.


Что делать, если файл заменен?
Райанвинчестер

1
@ryanwinchester, если изменяется только содержимое файла, нет проблем, но если файл будет удален / воссоздан, емкость setcap также будет удалена.
Седрик Жюльен

:( Ах, это моя проблема. У меня есть сценарий, который перестраивает каталог, а затем запускает сервер, прослушивающий порт 80. Мне нужно найти способ не запускать setcapкаждый раз
ryanwinchester

«если изменяется только содержимое файла, нет проблем» не соответствует действительности. Изменение содержимого файла приведет к удалению его возможностей. См. Unix.stackexchange.com/a/283408/2526
Ричард Ферн

0

Изменения являются постоянными, но у меня возникли проблемы при использовании с nodejs.

Вы можете использовать, authbindчтобы предоставить разрешение пользователя

sudo touch /etc/authbind/byport/80
sudo chown user:user /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.