Отладить двоичный файл setuid без полномочий root

Из справочной страницы sync (1): «sync - синхронизировать кэшированные записи в постоянное хранилище». Обычно sync гарантирует, что все ваши данные будут записаны на карту памяти из кеша.

2
16.05.2017, 02:28
1 ответ

Отладка программы с привилегиями фактически дает отладчику те же привилегии. Таким образом, независимо от каких-либо настроек безопасности, для отладки программы с дополнительными привилегиями отладчик должен иметь по крайней мере все эти привилегии. Например, программа с setuid имеет привилегии как исходного, так и целевого пользователя, поэтому отладчик должен иметь привилегии обоих пользователей. На практике это означает, что отладчик должен быть root. В Linux достаточно предоставить отладчику возможность CAP_SYS_PTRACE (это не снижает эффективных привилегий отладчика, но означает, что отладчик не будет, например, случайно перезаписывать файлы другого пользователя).

Обычно удобнее отлаживать программу во время работы без дополнительных привилегий. Настройте права доступа к файлам, пути и т. д. соответственно. Если вам нужно отлаживать программу в реальных условиях с привилегиями, то отладчик нужно запускать от имени root. В Linux это может быть root в пользовательском пространстве имен, содержащем двух вовлеченных пользователей.

3
27.01.2020, 22:03

Теги

Похожие вопросы