다시 로그인하지 않고 보충 그룹 멤버쉽을 새로 고치겠습니까? 새 그룹 멤버십이

내가 이해 한대로 리눅스 세션은 로그인 할 때 그룹 멤버쉽을 캐시합니다. 그런 다음 새 그룹 멤버십이 추가 된 경우 (예 :로 adduser someuser somegroup) 새 멤버십을 이용하려면 사용자가 로그 아웃했다가 다시 로그인해야합니다.

내 질문은 : 다시 로그인하거나 현재 프로세스를 종료하거나 새 프로세스를 시작하지 않고 프로세스 내 그룹 멤버 자격을 새로 고칠 수 있는 방법이 있습니까?



답변

세션에서 새 로그인을 시작할 수 있습니다

$ su - your_login

실행중인 프로세스에는 영향을 미치지 않습니다. Xserver를 사용하는 경우 xterm을 시작하고이 명령을 입력 할 수 있습니다 (이 터미널 세션에만 영향을 미침). 지속성을 유지하는 유일한 방법은 세션을 마치고 다시 시작하는 것입니다


답변

나는 그렇게 생각하지 않습니다. 그러나이 newgrp명령사용 하여 새 그룹으로 새 쉘을 생성 할 수 있습니다 . 이것은 영구적이지 않습니다.

newgrp superawesomegroupname

사용자를 다시 로그인해야합니다.


답변

다른 사람들은 ” su - $USER“과 ” newgrp“에 대해 언급했으며 ” sg” 도 참조해야한다고 언급해야한다고 생각했습니다 .


답변

넌 할 수있어:

exec su -l $USER

터미널을 종료하지 않고 그룹 목록을 암시 적으로 새로 고칩니다.


답변

gpasswd즉시 변경에 사용할 수 있습니다 .

gpasswd -a someuser somegroup

새로운 쉘이나 재 로그인을 만들 필요가 없습니다. 그런 다음 다음을 사용하여 그룹 구성원을 확인하십시오 getent.

getent group somegroup


답변

이 정보는 (재 로그인 할 필요가없는 요구 사항 만 충족하지만)

exec /bin/bash -l

-l 플래그는 새로운 로그인 쉘을 가정하고 exec는 현재 쉘을 새로운 쉘로 대체합니다. BTW, 쉘 이름을 잘못 입력하지 마십시오 🙂

앞에서 제안한대로 newgrp 및 su를 사용할 때의 한 가지 문제점은 새로운 하위 쉘이 작성된다는 것입니다. 예, exec 명령으로도 진행할 수 있습니다.


답변