Python Glossary Русский

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