Сообщить об ошибке.

Модуль grp в Python, группы ОС Unix

Доступ к базе данных групп Unix

Модуль grp обеспечивает доступ к базе данных групп Unix. Он доступен на всех версиях Unix.

Записи базы данных группы представляются как объект, похожий на кортеж, атрибуты которого соответствуют членам структуры группы, представленных в таблице ниже:

ИндексАтрибутСмысл
0gr_nameНазвание группы
1gr_passwdгрупповой зашифрованный пароль; Часто пустой
2gr_gidЧисловой идентификатор группы
3gr_memВсе имена пользователей группы

Элемент кортежа gid - это целое число, имя и пароль - строки, а список членов - список строк.

Обратите внимание, что большинство пользователей явно не указаны в качестве членов группы, согласно базе данных паролей. Проверьте обе базы данных, чтобы получить полную информацию о членстве в группах. Также обратите внимание, что gr_name, начинающееся с '+' или '-', вероятно, будет YP/NIS ссылка и может быть недоступна через функции grp.getgrgid() или grp.getgrnam()

Если запрошенная запись не может быть найдена, то поднимается исключение KeyError.

Функции модуля.

grp.getgrgid(gid):

Функция grp.getgrgid() возвращает запись базы данных группы для заданного числового идентификатора gid группы.

grp.getgrnam(name):

Функция grp.getgrnam() возвращает запись базы данных группы для данного имени группы name.

grp.getgrall():

Функция grp.getgrall() возвращает список всех доступных записей групп в произвольном порядке.

Примеры:

>>> import grp
# список всех доступных записей групп
>>> list_grp = grp.getgrall()
>>> list_grp[-2:]
# [grp.struct_group(gr_name='minidlna', 
#                   gr_passwd='x', 
#                   gr_gid=130, 
#                   gr_mem=[]), 
#  grp.struct_group(gr_name='home', 
#                   gr_passwd='x', 
#                   gr_gid=1001, 
#                   gr_mem=[])]

# запись из базы по 'gid'
>>> grp.getgrgid(130)
# grp.struct_group(gr_name='minidlna', 
#                   gr_passwd='x', 
#                   gr_gid=130, 
#                   gr_mem=[])

# запись из базы по названию группы
>>> grp.getgrnam('home')
#  grp.struct_group(gr_name='home', 
#                   gr_passwd='x', 
#                   gr_gid=1001, 
#                   gr_mem=[])