В моей пользовательской среде предварительно загружена библиотека-перехватчик, которая запускает специальную реализацию вызовов bind()
, connect()
и т. д.
Проблема, которую я вижу, заключается в том, что всякий раз, когда приложение явно включает возможности с помощью команды setcap
, выполнение приложения не позволяет предварительно загрузить библиотеку перехватчиков и вызывает libc по умолчанию connect()
.
Это ожидаемое поведение? Если да, что может быть причиной отключения LD_PRELOAD
?
Есть ли какая-либо настройка или метод, который можно использовать для успешной предварительной загрузки библиотеки с включенными возможностями.
LD_PRELOAD
); целевой двоичный файл не имеет каких-либо файловых возможностей. Затем ваша библиотека предварительной загрузки связывается с дочерним процессом (например, через пару сокетов, скажем, fd 3), при этом дочерний процесс предоставляет необходимые возможности целевому процессу, а затем завершается (и библиотека предварительной загрузки пожинает дочерний процесс). Дайте мне знать, если вам нужен пример. - person Nominal Animal   schedule 06.08.2013