그룹을 추가 한 후 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 $USER및 sudo adb kill-server && adb start-server문제 해결
— xdevs23
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.