Python Glossary English

все 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Сообщить о неточности