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


12

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

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

답변:


9

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

$ su - your_login

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


서버에 공개 키 인증 만 허용하는 경우 비밀 키를 가져와야합니까?
Cyril Duchon-Doris


2

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



1

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

gpasswd -a someuser somegroup

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

getent group somegroup

그룹을 생성 한 다음 해당 그룹을 찾고 있습니다. 이것은 논의 된 질문과 관련이 없습니다. 현재 세션에서 변경 사항이 적용되지 않습니다.
Str.

0

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

exec /bin/bash -l

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

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.