/etc/groups и вызов getgroups (Соответствие файла /etc/groups и информации в ядре)

Модератор: Модераторы разделов

psea
Сообщения: 2
ОС: Debian

/etc/groups и вызов getgroups

Сообщение psea »

Как сделать так чтоб информация о группах из файла /etc/groups попала в ядро.
пример:
-добавляем пользователя в группу с gid 10 в файле /etc/groups при помощи текстового редактора
-смотрим что возвращает функция getgroups(): пользователь несостоит в группе с gid 10
-завершаем сеанс, логинимся снова
-смотрим что возвращает функция getgroups(): пользователь состоит в группе с gid 10
т.е. получается для того чтобы информация о группах пользователя в ядре соответсововала файлу /etc/groups необходимо перелогиниться.
вопрос в следующем: как можно программно синхронизировать информацию о группах в ядре и в файле /etc/groups?
Спасибо сказали:
Аватара пользователя
кодировщик
Сообщения: 974
Статус: зарёган в пятницу 13
ОС: Linux

Re: /etc/groups и вызов getgroups

Сообщение кодировщик »

psea писал(а):
13.03.2009 21:58
т.е. получается для того чтобы информация о группах пользователя в ядре соответсововала файлу /etc/groups необходимо перелогиниться.

именно так.

psea писал(а):
13.03.2009 21:58
вопрос в следующем: как можно программно синхронизировать информацию о группах в ядре и в файле /etc/groups?

может я не прав, но нельзя, т.к. структура group_info из поля group_info синхронизируется при вызове login
Спасибо сказали:
psea
Сообщения: 2
ОС: Debian

Re: /etc/groups и вызов getgroups

Сообщение psea »

есть же inotify к примеру. технически наверно синхронизацию при изменении /etc/groups сделать можно.
может кто подскажет ссылку на литературу где описывается security подсистема ядра или что-то в этом роде.
перерыл кучу книг по unix/linux и нигде ничего более подробного нежели getuid() setuid() не нашел. хотелось бы знать как устроена связь uid,gid процесса и файлов /etc/passwd и /etc/groups
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: /etc/groups и вызов getgroups

Сообщение Portnov »

Подозреваю (не смог сходу найти подтверждения в литературе), что дескриптор безопасности (в частности, список групп) создаётся либо наследуется для каждого процесса, и поэтому, чтобы обновить дескрипторы, процессы нужно запустить заново.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
кодировщик
Сообщения: 974
Статус: зарёган в пятницу 13
ОС: Linux

Re: /etc/groups и вызов getgroups

Сообщение кодировщик »

Portnov писал(а):
14.03.2009 21:02
Подозреваю (не смог сходу найти подтверждения в литературе), что дескриптор безопасности (в частности, список групп) создаётся либо наследуется для каждого процесса, и поэтому, чтобы обновить дескрипторы, процессы нужно запустить заново.

и я о том же, ядро хранит все описатели процессов в task_list, а task_struct на выполняемый процесс, который хранит множество атрибутов процесса в том числе и group_info.
В общем если интересно смотрите include/linux/sched.h
Спасибо сказали: