Python Glossary English

все Python 3Linux · macOSosфункция

os.seteuid

os — идентификаторы пользователя/группы

Устанавливает эффективный UID процесса. Доступно на Unix.

Синтаксис

os.seteuid(...)

Меняет только эффективный UID, а сохранённый остаётся прежним, — поэтому привилегии можно временно сбросить и затем вернуть. Это удобно для коротких операций от имени пользователя, но не защищает от уязвимостей: взломанный код тоже может вернуть права. Для окончательного сброса нужна setuid.

Примеры

import os
saved_uid = os.geteuid()  # → ? только Unix: текущий эффективный UID, например 1000 (у root — 0)
os.seteuid(os.getuid())  # → ? только Unix: сбрасывает эффективный UID до реального
print(os.geteuid() == os.getuid())  # → ? True: процесс работает с правами реального пользователя
os.seteuid(saved_uid)  # → ? только Unix: возврат прежнего эффективного UID (не-root может вернуться лишь к реальному или сохранённому)
os.seteuid(0)  # → ? только Unix: PermissionError без прав root; в отличие от os.setuid() меняется только эффективный UID

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности