все Python 3Linux · macOSosфункция
os.setgroups
os — идентификаторы пользователя/группы
Задаёт список дополнительных групп процесса. Доступно на Unix.
Синтаксис
os.setgroups(...)
Требует прав root. Пустой список setgroups([]) снимает все дополнительные группы — важный шаг сброса привилегий, который часто забывают. Вызывается до setgid и setuid. На macOS число групп может быть ограничено.
Примеры
import os
print(os.getgroups()) # → ? только Unix: список дополнительных GID, например [4, 27, 1000]
os.setgroups([]) # → ? только Unix: root отбирает у процесса все дополнительные группы
print(os.getgroups()) # → ? []: дополнительных групп не осталось
os.setgroups([1000, 1001]) # → PermissionError, если процесс запущен не от root
os.setgroups(1000) # → TypeError: нужна последовательность GID, а не одно число
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности