Установлен ли бит set-user-id?

Я собираюсь написать код, который будет широко выполнять другие программы. Я не хочу, чтобы у него были привилегии root, если кто-то установил бит set-user-id (а root является владельцем). Так что я собираюсь отбросить привилегии при запуске.

Мой вопрос: как я могу понять из программы, работает ли она в set-user-id Режим?

1 ответ

Решение

Вы можете сравнить результат getuid() а также geteuid() библиотека звонков.

Если geteuid() возвращает 0 (корень), но getuid() возвращает не 0, вы можете сказать, что suid активен.

Другие вопросы по тегам