Python Glossary Русский

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