На уровне ядра членство в группах является свойством каждого процесса. Если у него нет соответствующей возможности (CAP_SETGID, если я не ошибаюсь), то есть привилегии root для всех намерений и целей, процесс не может принадлежать новой группе.
Пользователь не существует как объект на уровне ядра; делают только процессы (и файлы). У процесса есть uid (эффективный и прочее) и список идентификаторов групп.
Когда вы добавляете пользователя в группу, ядро понятия не имеет, что это значит. Он только косвенно знает, что при следующем запуске / bin / login или / usr / bin / newgrp процесс с этим идентификатором пользователя будет иметь новый идентификатор группы в своем списке.
Итак, чтобы ответить на ваш вопрос, если вы говорите о сеансе Gnome или KDE, вам действительно нужно его перезапустить. Или, если вас интересует только результат одной команды в отношении этой новой группы, вы можете использовать newgrp, который я только что упомянул. Запустится новая оболочка с добавленной группой.
useradd -G groupname username
?