all Python 3Linux · macOSosfunction
os.seteuid
os — user/group IDs
Set the process's effective user id. Availability: Unix.
Syntax
os.seteuid(...)
It changes only the effective UID while the saved one stays, so privileges can be dropped temporarily and regained. That suits short operations on a user's behalf but offers no protection against exploits: compromised code can regain them too. For a permanent drop use setuid.
Examples
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
See also
Common errors
Open in the full glossarydocs.python.orgReport an inaccuracy