Ở cấp độ kernel, thành viên nhóm là một thuộc tính của mỗi quá trình. Trừ khi nó có khả năng phù hợp (CAP_SETGID nếu tôi không nhầm), tức là quyền root cho tất cả ý định và mục đích, một quy trình không thể thuộc về một nhóm mới.
Một người dùng không tồn tại như một đối tượng ở cấp hạt nhân; chỉ các quá trình (và tập tin) làm. Một quy trình có uid (hiệu quả và không có gì) và một danh sách các id nhóm.
Khi bạn thêm người dùng vào một nhóm, kernel không biết ý nghĩa của nó là gì. Nó chỉ biết, một cách gián tiếp, lần sau / bin / đăng nhập hoặc / usr / bin / newgrp được chạy một quy trình với id người dùng đó sẽ có id nhóm mới trong danh sách của nó.
Vì vậy, để trả lời câu hỏi của bạn, nếu bạn đang nói về phiên Gnome hoặc KDE, bạn phải khởi động lại nó thực sự. Hoặc nếu bạn chỉ quan tâm đến kết quả của một lệnh liên quan đến nhóm mới đó, bạn có thể sử dụng newgrp mà tôi vừa đề cập. Nó sẽ bắt đầu một shell mới với nhóm mới được thêm vào.
useradd -G groupname username
không?