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