Где во время загрузки извлекаются возможности

Где во время загрузки извлекаются возможности

Я хочу, чтобы приложение Node имело возможность привязываться к портам с небольшим количеством номеров (точнее, к 443, поскольку это сервер http2).

Я делаю это сsudo setcap cap_net_bind_service=+ep /path/to/node

Это, по-видимому, запоминается при загрузке. Я использую nvm, чтобы иметь возможность устанавливать разные версии node, и я только что обновил версию и, конечно, больше не привязываюсь.

Достаточно просто снова добавить эту возможность, но, вероятно, где-то я накапливаю разрешения, которые следует отключить в старых версиях Node.

Но я не могу найти, где в последовательности загрузки это происходит. Может кто-нибудь подскажет, где (у меня Debian).

РЕДАКТИРОВАТЬ

Я думаю, что информация должна храниться в дополнительных атрибутах исполняемого файла. Однако я не могу найти никаких дополнительных атрибутов в файлах, которые я настроил таким образом.

решение1

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

Начиная с GNU coreutils 8.23, lsкоманда не знает о возможностях Linux, поэтому вы не найдете в ее выводе ничего, что говорило бы о том, что у программы установлены возможности. Используйте команду getcapдля вывода списка возможностей.

Чтобы удалить все возможности из файла, используйте setcap -r /path/to/file. Однако вам не нужно ничего очищать — возможности хранятся вместе с файлом, и вам ничего не нужно делать, кроме как удалить файл.

решение2

Смотрите setcap(8), возможности установленыдля исполняемого файла. Это работает аналогично (но с большей степенью детализации) SUID или SGID. Нигде в «процессе загрузки» это не обрабатывается; всякий раз, когда файл выполняется как программа, результирующий процесс получает возможности.

Да, сохранение старых версий файла с повышенными привилегиями представляет серьезную угрозу безопасности, лучше удалять старые версии всякий раз, когда устанавливается новая.

Связанный контент