Python 3.2+Linuxosfunction
os.setresuid
os — user/group IDs
Set the real, effective and saved user ids. Availability: Linux.
Syntax
os.setresuid(...)
It sets all three UIDs explicitly — the most predictable way to drop privileges for good: setresuid(uid, uid, uid). -1 leaves a value unchanged. It exists on Linux and some BSDs, not on macOS.
Examples
import os
print(os.getresuid()) # → ? только Unix: тройка (реальный, эффективный, сохранённый) UID, например (0, 0, 0) под root
os.setresuid(1000, 1000, 0) # → ? только Unix: реальный и эффективный UID становятся 1000, сохранённый остаётся 0
os.setresuid(-1, 0, -1) # → ? только Unix: -1 оставляет поле нетронутым; вернуть euid=0 удаётся благодаря сохранённому 0
os.setresuid(1000, 1000, 1000) # → ? только Unix: все три UID равны 1000 — привилегии сброшены окончательно
os.setresuid(0, 0, 0) # → PermissionError, после полного сброса root уже не вернуть
See also
Common errors
Open in the full glossarydocs.python.orgReport an inaccuracy