Python Glossary English

все Python 3Linux · macOSosфункция

os.setgid

os — идентификаторы пользователя/группы

Устанавливает реальный GID процесса. Доступно на Unix.

Синтаксис

os.setgid(...)

Вызывайте до setuid: после смены UID у процесса уже не будет права менять группу. Для полного сброса нужно ещё убрать дополнительные группы через setgroups([]) или задать их initgroups — иначе процесс сохранит доступ через группы root.

Примеры

import os
print(os.getgid())  # → ? только Unix: реальный GID процесса, например 1000
os.setgid(os.getgid())  # → ? только Unix: установка того же GID проходит без ошибки
os.setgid(65534)  # → ? только Unix: root навсегда переходит в группу nogroup — вернуться уже нельзя
print(os.getgid(), os.getegid())  # → ? 65534 65534: у root setgid меняет и реальный, и эффективный GID
os.setgid(0)  # → PermissionError, если процесс запущен не от root

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности