Python Glossary Русский

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