Linux에서 다시 로그인하지 않고 사용자 / 그룹 속성을 업데이트하는 방법이 있습니까? 편집하고 소속되지 않은 그룹에

/ etc / group을 편집하고 소속되지 않은 그룹에 사용자를 추가하면 새 세션을 시작하지 않으면 사용자는 새로 획득 한 권한을 사용할 수 없습니다.

진행중인 세션에서 사용자 / 그룹 속성을 새로 고치는 명령이 있습니까?



답변

커널 수준에서 그룹 멤버쉽은 각 프로세스의 속성입니다. 적절한 의도 (잘못하지 않은 경우 CAP_SETGID), 즉 모든 의도와 목적에 대한 루트 권한이 없으면 프로세스가 새 그룹에 속할 수 없습니다.

사용자는 커널 수준에서 개체로 존재하지 않습니다. 프로세스 (및 파일) 만 수행합니다. 프로세스에는 uid (효과적이며 다른 것)와 그룹 ID 목록이 있습니다.

사용자를 그룹에 추가 할 때 커널은 그 의미를 모릅니다. 다음 번에 / bin / login 또는 / usr / bin / newgrp가 실행될 때 해당 사용자 ID로 프로세스가 실행되면 목록에 새 그룹 ID가 있음을 간접적으로 만 알 수 있습니다.

따라서 Gnome 또는 KDE 세션을 말하고 있다면 질문에 대답하려면 실제로 다시 시작해야합니다. 또는 새 그룹에 관한 한 하나의 명령 결과에만 관심이 있다면 방금 언급 한 newgrp를 사용할 수 있습니다. 새로 추가 된 그룹으로 새 쉘을 시작합니다.


답변

newgrp 명령 이이 작업을 수행 하기 전에 읽었 지만 현재 쉘에서만 읽었습니다 . 로그 아웃했다가 다시 로그인하는 것보다 더 나은 대안은 없습니다.


답변