방금 내 워크스테이션의 "docker" 그룹에 나 자신을 추가했습니다. 충실히 로그아웃했다가 데스크탑 환경에서 다시 로그인했지만 여전히 그룹에 속해 있지 않습니다.
mcon@cinderella:~$ id
uid=1000(mcon) gid=1000(mcon) groups=1000(mcon),20(dialout),27(sudo),46(plugdev),115(lpadmin),124(vboxusers)
mcon@cinderella:~$ grep mcon /etc/group
dialout:x:20:mcon,mauro
sudo:x:27:mcon
plugdev:x:46:mcon
mcon:x:1000:
lpadmin:x:115:mcon
vboxusers:x:124:mauro,mcon
docker:x:136:mcon
저는 최신 Debian Sid를 사용하고 있습니다. 내 데스크탑은 Gnome/Cinnamon입니다.
나알다이 문제는 재부팅하면 해결될 수 있지만 무슨 일이 일어나고 있는지 알고 싶습니다.
"su 트릭"을 사용하면 실제로 작동합니다.
mcon@cinderella:~$ su - mcon
Password:
mcon@cinderella:~$ id
uid=1000(mcon) gid=1000(mcon) groups=1000(mcon),20(dialout),27(sudo),46(plugdev),115(lpadmin),124(vboxusers),136(docker)
로그아웃했다가 다시 로그인해도 작동하지 않는 이유는 무엇입니까?
고쳐 쓰다: 추가 조사 결과 공개로그아웃 후내 사용자 ID로 systemd, sh, 다양한 gvfs-whatever, gpg-agent 등을 포함하여 여전히 수많은 프로세스가 실행되고 있습니다. 포탄을 죽인다고 해서 달라지는 건 없지만, 죽이는 게 조금 두렵습니다. 로그아웃하면 모든 활동이 종료되지 않나요? 이것은 보안 허점처럼 보입니다(아님?). 나는 이러한 모든 프로세스를 종료하고 "세션을 유지하는" 것이 있는지 확인하려고 합니다(최악의 경우 다시 시작해야 합니다).
업데이트 2(@StephenKitt의 요청에 따라):
mcon@cinderella:~$ loginctl show-user $(whoami)
UID=1000
GID=1000
Name=mcon
Timestamp=Sat 2019-03-23 15:01:35 CET
TimestampMonotonic=24931331
RuntimePath=/run/user/1000
[email protected]
Slice=user-1000.slice
Display=2
State=active
Sessions=2
IdleHint=no
IdleSinceHint=1553356954121832
IdleSinceHintMonotonic=7284187020
Linger=no
업데이트 3(@StephenKitt에서 영감을 받음):
분명히 session2가 존재하지만 존재하는 유일한 세션인 것 같습니다. 그러나 인수가 없는 명령은 다른 보기를 제공하고 활성 세션이 하나만 있다고 말합니다. 위의 "Sessions=2"는 어디에서 왔습니까?
mcon@cinderella:/tmp/ca$ loginctl show-session
EnableWallMessages=no
NAutoVTs=6
KillUserProcesses=no
RebootToFirmwareSetup=no
IdleHint=no
IdleSinceHint=1553356954121832
IdleSinceHintMonotonic=7284187020
BlockInhibited=handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch
DelayInhibited=shutdown:sleep
InhibitDelayMaxUSec=30s
UserStopDelayUSec=10s
HandlePowerKey=poweroff
HandleSuspendKey=suspend
HandleHibernateKey=hibernate
HandleLidSwitch=suspend
HandleLidSwitchDocked=ignore
HoldoffTimeoutUSec=30s
IdleAction=ignore
IdleActionUSec=30min
PreparingForShutdown=no
PreparingForSleep=no
Docked=yes
LidClosed=no
OnExternalPower=yes
RemoveIPC=yes
RuntimeDirectorySize=3314405376
InhibitorsMax=8192
NCurrentInhibitors=7
SessionsMax=8192
NCurrentSessions=1
mcon@cinderella:/tmp/ca$ loginctl show-session 2
Id=2
User=1000
Name=mcon
Timestamp=Sat 2019-03-23 15:01:35 CET
TimestampMonotonic=24933340
VTNr=7
Seat=seat0
Display=:0
Remote=no
Service=lightdm
Desktop=lightdm-xsession
Scope=session-2.scope
Leader=2009
Audit=2
Type=x11
Class=user
Active=yes
State=active
IdleHint=no
IdleSinceHint=1553356954121832
IdleSinceHintMonotonic=7284187020
LockedHint=no
답변1
취소가 가능하다는 사실이 입증되었습니다.아니요사용자를 대신하여 실행 중인 모든 프로세스를 닫습니다. 이 문제는 Linux 콘솔에 루트(Ctrel-Alt-F1)로 로그인하고 명령을 실행하여 killall -HUP -u mcon
해결할 수 있습니다 .
참고: 위 명령은아니요유효한 uid "mcon"(특히 systemd, dbus-daemon 및 기타 몇 가지)을 사용하여 모든 프로세스를 종료하지만 "그룹 다시 로드" 문제를 해결하는 데는 충분해 보입니다.
그런데 왜 로그아웃 후에도 잘 지워지지 않는지 아직도 궁금합니다.