Python Glossary English

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