LINUX.ORG.RU
ФорумAdmin

Перечитывание /etc/passwd, /etc/group без перезапуска процесса.


0

1

Привет всем. Подскажите одну вещь: насколько я понял, linux кеширует содержимое /etc/passwd, /etc/group, и чтобы запущенный процесс узнал, что его пользователя добавили в новую группу, его надо перезапустить. Можно ли как-нибудь сбросить кеш или заставить процесс перечитать /etc/group без перезапуска процесса? Спасибо.


Запущенный процесс наследует окружение родительского.

чтобы запущенный процесс узнал, что его пользователя добавили в новую группу, его надо перезапустить

Перезапущенный процесс опять же унаследует окружение родителя. Зрить надо в корень, а корнем в данном случае является login(1), поэтому в таких ситуациях обычно (пере|за)логиниться - самое верное решение.

Как вариант, можно сделать тупо sudo login в терминале, залогинившись только в нём в новом окружении, и оттуда запустить процесс.

yoghurt ★★★★★ ()

чтобы запущенный процесс узнал, что его пользователя добавили в новую группу

exec su -l $USER

решает.

Komintern ★★★★★ ()

Смотря какой процесс. Если я не ошибаюсь, некоторым достаточно послать SIGHUP чтоб он перезагрузился и запросил список юзеров/групп. И еще... Если выполнять изменения через usermod/groupmod (а не редактируя passwd/groups), то уж точно увидит новые данные.

iron ★★★★★ ()
Ответ на: комментарий от Deisler

При изменении через usermod/groupmod apache не видит новые данные.

Что мешает после выполнения usermod/groupmod выполнить:

/usr/sbin/apachectl graceful

iron ★★★★★ ()
Ответ на: комментарий от iron

Эта команда перезапустит апач, newgrp решение проблемы.

Deisler ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.