グループメンバーシップを更新するためのログアウト/ログインが不十分です。

グループメンバーシップを更新するためのログアウト/ログインが不十分です。

私は私のワークステーションの「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が存在しますが、存在する唯一のセッションのようです。ただし、引数のないコマンドは別のビューを提供し、アクティブなセッションが1つしかないと言います。上記の「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コンソールにroot(Ctrel-Alt-F1)としてログインし、コマンドを実行することでkillall -HUP -u mcon解決できます。

注:上記のコマンドはいいえ有効なuid "mcon"(特にsystemd、dbus-daemonなど)を使用してすべてのプロセスを終了しますが、「グループの再読み込み」の問題を解決するのに十分です。

ところで、なぜログアウト後もうまく消えないのか、まだ気になります。

関連情報