all Python 3Linux · macOSosfunction
os.setreuid
os — user/group IDs
Set both the real and effective user ids. Availability: Unix.
Syntax
os.setreuid(...)
It sets the real and effective UID in one call; -1 leaves a value unchanged. When the saved UID changes too differs between systems, so on Linux setresuid is handier for a predictable privilege drop.
Examples
import os
print(os.getuid(), os.geteuid()) # → ? только Unix: реальный и эффективный UID, например 0 0 под root
os.setreuid(-1, 1000) # → ? только Unix: -1 оставляет реальный UID прежним, понижается только эффективный
os.seteuid(0) # → ? только Unix: root возвращается, потому что реальный UID остался равен 0
os.setreuid(1000, 1000) # → ? только Unix: оба UID становятся 1000, сохранённый тоже сбрасывается — вернуться в root нельзя
os.setreuid(0, 0) # → ? только Unix: PermissionError после безвозвратного сброса привилегий
See also
Common errors
Open in the full glossarydocs.python.orgReport an inaccuracy