Установлен ли бит set-user-id?
Я собираюсь написать код, который будет широко выполнять другие программы. Я не хочу, чтобы у него были привилегии root, если кто-то установил бит set-user-id (а root является владельцем). Так что я собираюсь отбросить привилегии при запуске.
Мой вопрос: как я могу понять из программы, работает ли она в set-user-id
Режим?
1 ответ
Решение
Вы можете сравнить результат getuid()
а также geteuid()
библиотека звонков.
Если geteuid()
возвращает 0 (корень), но getuid()
возвращает не 0, вы можете сказать, что suid активен.