все Python 3Linux · macOSosфункция
os.setreuid
os — идентификаторы пользователя/группы
Одновременно задаёт реальный и эффективный UID. Доступно на Unix.
Синтаксис
os.setreuid(...)
Задаёт реальный и эффективный UID одним вызовом; -1 оставляет значение без изменений. Правила, когда при этом меняется и сохранённый UID, различаются между системами, поэтому для предсказуемого сброса привилегий на Linux удобнее setresuid.
Примеры
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 после безвозвратного сброса привилегий
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности