Обновить дополнительные членства в группах без повторного входа?


12

Насколько я понимаю, сессия Linux кэширует членство в группах при входе в систему. Затем, если добавлено новое членство в группе (например, с помощью adduser someuser somegroup), пользователь должен выйти из системы и войти снова, чтобы иметь возможность воспользоваться преимуществами нового членства.

Мой вопрос: есть ли способ обновить членство в группе в процессе, без повторного входа в систему, выхода из текущего процесса или запуска нового процесса?

Ответы:


9

Вы можете начать новый вход в систему с вашего сеанса

$ su - your_login

Это не влияет на ваш рабочий процесс. Если вы используете Xserver, вы можете запустить xterm и набрать эту команду (повлиять только на этот терминальный сеанс). Единственный способ сделать его постоянным - завершить сеанс и запустить его снова.


Если вы разрешаете только аутентификацию с открытым ключом на вашем сервере, вам нужно будет импортировать секретный ключ?
Кирилл Дюшон-Дорис

4

Я так не думаю. Но вы можете использовать newgrpкоманду для создания новой оболочки с новой группой. Это не навсегда.

newgrp superawesomegroupname

Вам нужно будет отключить, а затем снова включить пользователей.


1
+1 работает, не требуя пароля / аутентификации в отличие отsu
Кирилл Дюшон-Дорис

2

Другие упоминали " su - $USER" и " newgrp", и я подумал, что должен упомянуть, что вы также должны посмотреть на " sg".


1

Вы можете использовать gpasswdдля немедленного изменения:

gpasswd -a someuser somegroup

Там нет необходимости для создания новой оболочки или relogin. Затем проверьте членство в группе, используя getent:

getent group somegroup

Вы создаете группу, затем вы ищете эту группу. Это не имеет никакого отношения к обсуждаемому вопросу - изменения не эффективны в вашей текущей сессии.
ул.


0

Как насчет этого (хотя это только отвечает требованию, что вы не должны были повторно регистрироваться)

exec /bin/bash -l

Флаг -l предполагает, что новая оболочка входа в систему и exec заменит текущую оболочку этой новой. Кстати, не опечатка название оболочки :-)

Одна из проблем с использованием newgrp и su, как предлагалось ранее, заключается в том, что будет создана новая вложенная оболочка. Да, вы также можете использовать команду exec.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.