Я запустил программу с использованием root, в которой я назвал функцию setuid для uid 9999999, после чего он успешно устанавливает этот uid, даже если он не существует в/etc/passwd. Итак, как setuid проверяет uid и каково влияние установки этого инвалидного uid?setuid устанавливает большое число
3
A
ответ
1
setuid
обычно не подтверждает ничего, если у вас есть достаточные разрешения для его выполнения (т. Е. Если вы root
). Он просто устанавливает UID на запрашиваемый, независимо от того, связано ли имя пользователя с этим UID в /etc/passwd
или в другом месте.
(По POSIX, может не сработать с EINVAL
если UID является недействительным, но ароматы Unix, что я не знаю, не делают этого.)
2
setuid
не проверяет идентификатор пользователя, только что процесс имеет привилегии его установить.
Система не заботится о том, что у пользователя нет записи в /etc/passwd
; вы можете, например, иметь файлы, принадлежащие любому идентификатору пользователя, даже если с ним нет «реального» пользователя.
Смежные вопросы
- 1. Слишком большое число
- 2. Действительно большое число
- 3. Многократное большое число параллельно
- 4. большое число умножение C++
- 5. Слишком большое число присоединяется
- 6. Большое число в PHP
- 7. Большое число слева
- 8. Большое число операций 0
- 9. Как факторизовать большое число
- 10. Большое число не округляется
- 11. Большое число в C++
- 12. python большое число mod
- 13. Слишком большое целое число
- 14. Самое большое второе число
- 15. как setuid работает
- 16. Продолжительность подсчета на большое число
- 17. PHP большое число в SQL
- 18. Большое число в массиве - конструктор
- 19. показывает большое отрицательное число (C++)
- 20. Большое целое число в Форте?
- 21. Очень очень большое число Python
- 22. Большое число в C# .NET
- 23. Самое большое число в C
- 24. большое целое число в Спарк
- 25. Использование setuid?
- 26. Как добавить очень небольшое число и очень большое число
- 27. Как определить большое простое число в R?
- 28. Как использовать большое число float в PHP?
- 29. Добавьте большое число uuid4 в файл
- 30. Самое большое число, которое меньше FLT_EPSILON?
Итак, перед установкой uid нам нужно проверить с помощью/etc/passwd? что может повлиять на установку неправильных uids. И каково будет поведение процесса. –
@sonutiwari: нужно ли проверять, зависит от того, чего вы пытаетесь достичь. В первую очередь это связано с тем, что вы создаете файлы и запускаете процессы, не принадлежащие какой-либо учетной записи, а с помощью числового UID. –