Простой неинтерактивный инструмент для переключения пользователя [закрыто]

Мне нужен инструмент, который запускался бы от имени root, отбрасывал бы root, переключившись на другого пользователя, а затем выполнял бы другую программу, указанную аргументом (ами) командной строки. Пример использования: запустить что-нибудь из (настраиваемых) сценариев инициализации от имени непривилегированного пользователя.

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

Есть ли такой инструмент?

Обновление: Я нашел ответ, похороненный глубоко в stackoverflow : это setuidgid от daemontools (или s6- setuidgid из s6). Очевидно, у автора (ов) daemontools были некоторые причины не использовать su также для запуска демонов.

Единственный недостаток заключается в том, что setuidgid продолжает работать вместе с запущенной программой. В идеале я бы предпочел exec вместо spawn / fork , чтобы таблица процессов была более чистой, но это не такая уж большая проблема.

-3
задан 23 May 2017 в 15:41
1 ответ

runuser используется для этой цели и обычно запускается из сценариев инициализации.

Это в основном su без интеграции PAM.

2
ответ дан 5 December 2019 в 21:55

Теги

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