Существует ли путь в Linux для обновления свойств пользователя/группы, не имея необходимость входить в систему снова?

После того, как я редактирую/etc/group, и я добавляю пользователя к группам, которым он не принадлежал, пользователь не сможет использовать, он недавно получил полномочия, если он не запускает новую сессию.

Существует ли команда для обновления свойств пользователя/группы на продолжающейся сессии?

24
задан 04.03.2013, 21:31

2 ответа

Я читал перед этим команда newgrp делает это, но только для текущей оболочки. Кажется, нет лучшей альтернативы, чем выйти из системы и въехать задним ходом снова.

5
ответ дан 07.12.2019, 09:45

На уровне ядра состав группы является свойством каждого процесса. Если это не имеет соответствующую возможность (CAP_SETGID, если я не ошибаюсь), т.е. полномочия пользователя root, во всех отношениях, процесс не может принадлежать новой группе.

Пользователь не существует как объект на уровне ядра; только процессы (и файлы) делают. Процесс имеет uid (эффективный и этажерка) и список идентификаторов группы.

Когда Вы добавляете пользователя к группе, ядро понятия не имеет, что это означает. Это только знает, косвенно, что следующий раз/bin/login или/usr/bin/newgrp выполняются, процесс с тем идентификатором пользователя будет иметь новый идентификатор группы в своем списке.

Так, для ответа на вопрос, если Вы говорите о Gnome или сессии KDE, необходимо перезапустить ее действительно. Или если Вы только заботитесь о результате одной команды до, которую заинтересована новая группа, можно использовать newgrp, который я просто упомянул. Это запустит новую оболочку с недавно добавленной группы.

16
ответ дан 07.12.2019, 09:45

Теги

Похожие вопросы