psea
написал 13 марта 2009 года в 22:08 (840 просмотров)
Ведет себя
неопределенно; открыл 1 тему в форуме, оставил 2 комментария на сайте.
Как сделать так чтоб информация о группах из файла /etc/groups попала в ядро.
пример:
-добавляем пользователя в группу с gid 10 в файле /etc/groups при помощи текстового редактора
-смотрим что возвращает функция getgroups(): пользователь несостоит в группе с gid 10
-завершаем сеанс, логинимся снова
-смотрим что возвращает функция getgroups(): пользователь состоит в группе с gid 10
т.е. получается для того чтобы информация о группах пользователя в ядре соответсововала файлу /etc/groups необходимо перелогиниться.
вопрос в следующем как можно программно синхронизировать информацию о группах в ядре и в файле /etc/groups?
Последние комментарии
-
Дмитрий Шурупов, 12 июня в 13:55 → Перекличка 13
-
Иванн, 9 апреля в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
-
Oksana_Gusak, 13 октября в 7:31 → Как «замокать» файл для юниттеста в Python? 2
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
-
fhunter, 26 февраля 2021 года в 20:45 → A, MX, PTR — Настройка и проверка извне. Как ? 2

Экология и вегетарианство на благо всем живым существам Планеты.
Я не программист, могу ошибаться.
Ман по getgroups говорит:
Т.е. возвращаются ID групп процесса, вызвавшего функцию. Процесс наследует группы от запустившего его пользователя. Пользователь получает членство в группах, указанных в /etc/groups, в момент логина в оболочку. Далее, манипуляции с /etc/groups ни на что не влияют до следующего логина. ИМХО, кроме перелогина остаётся только запуск процесса в новой оболочке. Может, su user поможет?..
В этом то и вопрос: можно ли сделать так что бы при изменении /etc/groups менялась информация о состоянии в группах соответствующих процессов. т.е. что бы сразу после изменения файла /etc/groups пользователь получал или лишался соответствующих привилегий (доступ к файлам например)
Нет, так сделать нельзя.
а почему? есть же inotify например.
или все таки можно, просто не реализовано. а может есть какой нибудь патчик.