all Python 3Linux · macOSosfunction
os.setgroups
os — user/group IDs
Set the process's supplemental group ids. Availability: Unix.
Syntax
os.setgroups(...)
It requires root. An empty list, setgroups([]), removes all supplementary groups — an important, often forgotten step of dropping privileges. Call it before setgid and setuid. On macOS the number of groups may be limited.
Examples
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, а не одно число
See also
Common errors
Open in the full glossarydocs.python.orgReport an inaccuracy