새 그룹에 사용자를 추가 한 후 권한을 새로 고치려면 재부팅해야합니까?


26

우분투 서버에서 사용자를 그룹에 추가 한 후 시스템을 재부팅 할 때까지 사용자에게 그룹 권한이 없음을 두 번 이상 알았습니다. 예를 들면 다음과 같습니다.

사용자 'hudson'은 'root : shadow / etc / shadow'디렉토리를 읽을 수있는 권한이 필요합니다. 따라서 그림자 그룹에 hudson을 추가합니다. 허드슨은 여전히 ​​읽을 수 없습니다. 따라서 'sudo shutdown -h -r now'이며 시스템이 다시 시작되면 사용자 hudson을 읽을 수 있습니다.

재부팅이 필요합니까, 또는 사용자를 그룹에 추가 한 후 권한을 적용하는 더 좋은 방법이 있습니까?


나중에 참조 할 수 있도록 아래에 실제 솔루션을 추가했습니다. 이것이 문제라는 것에 놀랐습니다. 희망이 도움이됩니다.
TryTryAgain

답변:


25

나는 해결책을 찾고 있었고,이 게시물을 보았고 나중에 하나를 찾았습니다!

다른 사람들이 혜택을 볼 수있는 솔루션을 실제로 제공 할 것이라고 생각했습니다. 로그인 및 로그 아웃은 1995 년입니다.

에서 가져온 :

https://arkaitzj.wordpress.com/2010/03/08/linux-add-user-to-a-group-without-logout/

따라서 cdrom그룹에 대한 권한을 가져야하는 경우 사용자를 다음에 추가했습니다.

newgrp cdrom 

예를 들어

따라서 단계는 다음과 같습니다.

#adduser my_user cdrom

그리고

$newgrp cdrom

작동하는지 확인했습니다.

$groupsCLI에서 간단한 확인은 사용자가 그룹에 있음을 나타냅니다. 그리고 해당 그룹의 필요한 권한으로 빠른 실행이 작동합니다.

당신의 창을 죽이고 로그인 및 로그 아웃 할 필요가 없습니다! 다른 사람들을 돕는 희망!

추가 정보 (jytou의 유용한 의견을 바탕으로 함) : "[이 솔루션은 현재 열려있는 쉘에서만 작동합니다. 다른 쉘이 열려있는 경우 동일한 명령을 사용하여 변경 사항을 고려해야합니다."


1
대단해, 진짜 효과가있다 !!! : D
dadexix86

3
TryTryAgain의 솔루션은 현재 열려있는 셸에서만 작동합니다. 다른 쉘이 열려 있으면 동일한 명령을 사용하여 변경 사항을 고려해야합니다.
jytou

어쨌든 X 세션 실행을 위해 그렇게 할 수 있습니까?
artfulrobot 2018 년

@artfulrobot 죄송합니다. 무슨 말인지 정확히 모르겠습니다. 새로운 질문을 열고이 게시물과 솔루션을 참조하면 도움이 될 수 있습니다.
TryTryAgain

19

새 그룹에 사용자를 추가 할 때 사용자는 로그 아웃했다가 다시 로그인해야 적용됩니다. 재부팅하면이 작업을 수행 할 수 있지만 필요하지는 않습니다.


패키지를 설치할 때 적성에 의해 생성 된 사용자를 어떻게 로그 아웃합니까?
Michael Prescott

어떤 패키지가 hudson사용자를 생성 합니까?
womble

저스틴이 대답 한대로 서비스를 중지했다가 시작해보십시오.
Scott Pack

이것이 제가하는 것입니다. 간단히 로그 아웃 한 후 다시 로그인하십시오.
Trent Scott

고맙게도 실제로 로그 아웃했다가 다시 로그인 할 필요는 없습니다. 아래에 작동 솔루션을 제공했습니다. 테스트하고 행복합니다!
TryTryAgain

8

그룹에 사용자를 추가해도 현재 로그인 한 사용자에게는 영향을 미치지 않습니다.

데몬의 경우 새 그룹을 적용하려면 데몬을 다시 시작해야합니다.

또한 데몬 자체의 옵션을 사용하여 데몬을 다시 시작하면 현재 환경이 상속되므로 작동하지 않습니다.

작업을 수행하는 가장 쉬운 방법은 다음과 같이 데몬을 완전히 중지하고 다시 시작하는 것입니다.

/etc/init.d/foo stop ; /etc/init.d/foo start

4

훨씬 더 쉽습니다. 다음을 입력하여 현재 액세스 수준을 확인할 수 있습니다.

id

그룹을 다시로드하려면 다음이 필요합니다.

su - $USER

그 후 액세스 레벨을 다시 확인하십시오.

id

새 그룹이 활성화 된 것을 볼 수 있습니다.


1

여기에서 다루어야 할 다른 실패 모드가 있습니다.

관리자가 업데이트 /etc/group했지만 업데이트 하지 못한 경우 /etc/gshadow(이 설정이있는 시스템에서) 로그 아웃했다가 다시 로그인해도 실제로 새 그룹에 할당되지는 않습니다.

혼동, groups당신에게 실제, 현재의 상황을 보여줍니다 반면, id잘못이 있음을 나타냅니다 출력 인쇄 할 수 있습니다 제대로 그룹의 구성원입니다.

tripleee@vbvntv$ groups
tripleee

tripleee@vbvntv$ id
uid=1234(tripleee) gid=1234(tripleee) groups=1234(tripleee),4(adm)

tripleee@vbvntv$ ls -l /var/log/mail.log
-rw-r----- 1 root adm 15728 May 26 14:26 /var/log/mail.log

tripleee@vbvntv$ tail /var/log/mail.log
tail: cannot open `/var/log/mail.log' for reading: Permission denied

newgrp암호를 요구 하기 때문에 사용할 수 없으며 암호가 없으며 SSH 공개 키 인증 만 있습니다.

해결책은 관리자가 수동 편집을 되 /etc/groups돌린 다음 다시 수행하는 것입니다 sudo gpasswd -a tripleee adm. 또는 대안으로 grpconv변경 사항을 병합하는 데 사용 합니다 ( https://serverfault.com/a/389719/98333 에서 선택했습니다 )


실제로, 실제 문제는 SSH 마스터 세션을 재사용하고 있다는 것이 밝혀졌습니다 . ControlPath 소켓을 제거하고 다시 로그인하여 연결을 끊으면 문제가 해결되었습니다.
tripleee
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.