그룹을 추가 한 후 18.04에서 로그 아웃 + 로그인이 충분하지 않습니까?


18

기본 데스크탑이있는 우분투 18.04에서 로그 아웃 / 로그인 동작이 변경되었습니다.

이전에는 Ubuntu 시스템에서 일부 사용자 그룹에 사용자 ID를 추가해야한다는 것을 알았을 때 충분했습니다.

sudo adduser ludwig docker # adds me to group docker

그런 다음 그룹 변경을 적용하려면 로그 아웃했다가 다시 로그인해야했습니다.

Ubuntu 18.04에서는 그룹을 추가하고 로그 아웃했다가 다시 로그인 한 후에도 유효 그룹 목록이 변경되지 않습니다.

해결 방법으로 불편한 시스템을 재부팅했습니다 (grub에서 올바른 선택을하고 디스크 암호화 암호를 다시 입력해야 함).

  1. 왜 이런 행동이 지금처럼됩니까?
  2. 재부팅이 아닌 다른 작업을 수행 할 수 있습니까?

(나는 localhost로 ssh를 할 수 있고 ssh 세션에서만 올바른 그룹을 얻을 수 있다는 것을 알고있다. 이것은 너무 불편하다.)


나는 sudo usermod -a -G group user18.04에서 테스트 하고 로그 아웃했다가 다시 로그인했습니다.
Terrance

기본 데스크탑도?
Ludwig Schulze

GNOME, Xubuntu, Kubuntu 등의 차이점을 의미합니까? 그놈이 기본값임을 의미한다면, 그놈을 실행하지 않습니다. 그러나 명령은 데스크톱 환경에 관계없이 모든 DE에서 동일해야하는 핵심 암호 / 그룹 항목이므로 동일해야합니다.
Terrance

테스트를 위해 그놈을 설치 sudo usermod -a -G groupname username하고 잘 작동했습니다. 로그 아웃 한 후 다시 로그인하면 변경 사항이있었습니다.
Terrance 2016 년

내가 참조. @Terrance 기본 데스크탑을 사용하지 않습니다. 기본 데스크탑 이름은 "ubuntu"입니다. 나는 그것이 그놈을 기반으로한다는 것을 알고 있지만 "그놈"이 또 다른 데스크탑이라는 것을 알고 있습니다. "우분투"는 통일과 유사하게 변경되었습니다.
Ludwig Schulze

답변:


8

명령 loginctl terminate-user <user>이 나를 위해 일했습니다. ( <user>사용자 이름으로 대체 ) 모든 프로세스가 종료되므로 로그인 할 때이를 실행해서는 안됩니다.


우분투 18.04 작업 확인. ps & grep보다 훨씬 쉽습니다!
AqD

동의, 이것은 내 자신의 솔루션보다 입력하기가 더 짧습니다. 우분투 19.04에서도 도움이됩니다. 내 자신의 솔루션 대신 찬성하고 받아 들였습니다.
Ludwig Schulze 11

7

우분투 18.04에서 기본 데스크탑에서 "로그 아웃"하면 일부 사용자 프로세스가 즉시 종료되지 않고 그대로 남아 있습니다. 이것들은 (다른 사용자가 관찰) :

$ ps axu | grep ^ludwig
ludwig    26508  0.3  0.2  77052  8308 ?        Ss   23:32   0:00 /lib/systemd/systemd --user
ludwig    26509  0.0  0.0 261776  2968 ?        S    23:32   0:00 (sd-pam)
ludwig    26691  0.2  0.3 381288 12204 ?        S<l  23:32   0:00 /usr/bin/pulseaudio --start --log-target=syslog
ludwig    27352  0.0  0.0  49796  3756 ?        Ss   23:33   0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only

이러한 프로세스가 자발적으로 종료되기 전에 다시 로그인하면 새 로그인 세션이 생성되지 않지만 이전 세션은 재사용됩니다. 새 그룹 멤버쉽이 보이지 않는 이유는 여전히 동일한 이전 로그인 세션입니다.

재부팅을 피하기위한 해결 방법은 로그 아웃 한 후 ~ 20 초 동안 기다렸다가 다시 로그인하는 것입니다. 프로세스는 로그 아웃 한 후 10 초에서 20 초 사이에 종료됩니다.

편집 : 아래 의견에보고 된 것처럼 대기하는 프로세스가 대기 중일 때도 종료되지 않고 다시 로그인 한 후에 그룹 멤버십이 업데이트되지 않았습니다. 이 경우에 도움이된다는 것을 알았습니다.

ps axu | grep ^ludwig | awk '{print $2}' | xargs kill -9

대체 ludwig사용자 이름. 이것은 당신에게 속한 모든 프로세스를 죽입니다. 열려있는 모든 프로그램의 모든 데이터가 저장되었다고 확신 할 때만 사용하십시오.


이것은 내 문제였다. 그러나 로그 아웃하고 기다린 후에도 프로세스가 사라지지 않았습니다. "systemd --user"프로세스를 종료하고 "sudo systemctl daemon-reexec"를 실행해야했습니다. 또한 모든 dbus 프로세스를 종료하면 dbus 시스템 나사가 다시 시작됩니다. 네트워크 관리자도 다시 시작해야합니다. "systemctl restart network-manager"아마도 dbus / systemd에 의존하는 모든 것을 다시 시작할 수 있습니다
niknah

@niknah 아, 안좋아. 귀하의 경우에는 재부팅하기가 더 쉬울 것 같습니다. 더 어려울 수 있음을 모든 사람에게 알려 주셔서 감사합니다.
Ludwig Schulze

@ niknah 나는 오늘 당신과 같은 문제에 부딪쳤다. 로그 아웃 한 후 일부 프로세스는 종료되지 않습니다. 해결 방법을 찾았 으며이 답변을 업데이트 할 것입니다.
Ludwig Schulze

2

현재 쉘 의 해결 방법 "su"를 실행하여 재부팅하지 않고 새 그룹을 갖도록하는 것입니다.

내가 말했듯이,이 트릭은 각 쉘에 적용되어야합니다. 그것은 전 세계가 아닙니다.


이것은 adbusers aka에 사용자를 추가 한 후 장치를 인식하지 못하는 adb를 수정하는 데 사용할 수 있습니다 sudo usermod -a -G adbusers $USER. 그럼 당신은 할 수 su $USERsudo adb kill-server && adb start-server문제 해결
xdevs23
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.