Kubuntu linuxmuster-6.2-tauglich machen

HI Uwe,

stimmt, linuxmusterpam-umount wird sicher ausgeführt.
Dass es das tun soll steht in /etc/security/pam_mount.conf.xml, dort kannst du auch im XML-code debug auf 1 stellen.
Aufgerufen wird das vom PAM-System mit einbinden von common-pammount, da müsste man Xorg mit seinem XSession-System und pam verstehen: tu ich nicht, sorry.

Wenn die umount-Befehle nicht funktionieren kann es ja daran liegen, dass prozesse noch auf die Verzeichnisse zugreifen (nur so ne Idee).

ich trage common-pammount immer in “/etc/pam.d/su” ein, so dass ich auf der konsole teste, was passiert, wenn ich “su - user” eingebe.

VG, tobias

Hallo Tobias,
mit deinen Anregungen bin ich zwar weiter aber nicht zu einer Lösung gekommen.

Dass die Unmount-Befehle beim Abmelden nicht aufgerufen werden, liegt offenbar daran, dass sddm und pam nicht korrekt zusammenarbeiten. Es wird /usr/sbin/linuxmuster-pam-umount nicht aufgerufen. Aus Sicht von pam bleibt der user eingeloggt. Auch pmvarrun zeigt dies an.

Wenn ich, wie von dir vorgeschlagen, mit su - user arbeite (nachdem common-pammount in /etc/pam.d/su includiert wurde), dann ist alles perfekt. Nach “exit” werden die umount-Skripte aufgerufen.

Eine ganz hässliche Lösung wäre es, als Autostop-Skript die umounts per linuxmuster-pam-umount durchführen zu lassen und mit pmvarrun -u user -o -1 auch den login-counter (oder was das ist) zurückzusetzen. Das gefällt mir aber garnicht.

Die Aufgabe lautet nun also: warum bekommt das pam-System das Abmelden eines benutzers nicht mit?

hier ein Auszug aus der Syslog, der möglicherweise die Antwort auf die Frage beinhaltet:

Dec 21 17:24:22 laptop14 sddm[1182]: Checking for pam module
Dec 21 17:24:22 laptop14 sddm[1182]: Got pam-login
Dec 21 17:24:22 laptop14 sddm[1182]: kwalletd: Waiting for hash on 6-
Dec 21 17:24:22 laptop14 sddm[1182]: kwalletd: waitingForEnvironment on: 18
Dec 21 17:24:22 laptop14 sddm[1182]: kwalletd: client connected
Dec 21 17:24:22 laptop14 sddm[1182]: kwalletd: client disconnected

Dec 21 17:24:44 laptop14 sddm[1182]: kwalletd5: Checking for pam module
Dec 21 17:24:44 laptop14 sddm[1182]: kwalletd5: Got pam-login param
Dec 21 17:24:44 laptop14 sddm[1182]: kwalletd5: Waiting for hash on 6-
Dec 21 17:24:44 laptop14 sddm[1182]: kwalletd5: waitingForEnvironment on: 20
Dec 21 17:24:44 laptop14 sddm[1182]: kwalletd5: client connected
Dec 21 17:24:44 laptop14 sddm[1182]: kwalletd5: client disconnected
Dec 21 17:24:44 laptop14 sddm-helper[23555]: [PAM] Ended.
Dec 21 17:24:44 laptop14 sddm[1182]: Auth: sddm-helper exited successfully
Dec 21 17:24:44 laptop14 sddm[1182]: Socket server stopping…
Dec 21 17:24:44 laptop14 sddm[1182]: Socket server stopped.
Dec 21 17:24:44 laptop14 sddm[1182]: Display server stopping…

UND HIER GEHT JETZT WAS SCHIEF (reproduzierbar)

Dec 21 17:24:44 laptop14 kernel: [ 8787.195685] kactivitymanage[24491]: segfault at 7ff9b01f7cd0 ip 00007ff9b019a301 sp 00007fff51458b28 error 4 in libQt5Sql.so.5.6.1[7ff9b0184000+45000]
Dec 21 17:24:44 laptop14 org.a11y.atspi.Registry[24461]: XIO: fatal IO error 11 (Resource temporarily unavailable) on X server „:0“
Dec 21 17:24:44 laptop14 org.a11y.atspi.Registry[24461]: after 33 requests (33 known processed) with 0 events remaining.
Dec 21 17:24:44 laptop14 org.kde.kdeconnect[24317]: The X11 connection broke (error 1). Did the X11 server die?
Dec 21 17:24:44 laptop14 org.gtk.vfs.Daemon[24317]: A connection to the bus can’t be made
Dec 21 17:24:44 laptop14 kernel: [ 8787.210138] QDBusConnection[24584]: segfault at 7f270c0741b0 ip 00007f271e2246c7 sp 00007f27068aa9e0 error 4 in libQt5Core.so.5.6.1[7f271df72000+4c0000]
Dec 21 17:24:44 laptop14 org.kde.kglobalaccel[24317]: The X11 connection broke (error 1). Did the X11 server die?
Dec 21 17:24:45 laptop14 sddm[1182]: Display server stopped.
Dec 21 17:24:45 laptop14 sddm[1182]: Running display stop script „/usr/share/sddm/scripts/Xstop“
Dec 21 17:24:45 laptop14 sddm[1182]: Removing display „:0“ …
Dec 21 17:24:45 laptop14 sddm[1182]: Adding new display on vt 7 …
Dec 21 17:24:45 laptop14 sddm[1182]: Display server starting…

Ab hier wird die neue Sitzung vorbereitet.

Mir wäre ja auch geholfen, wenn ich wüsste, wie man dem pam-System das Abmelden eines Benutzers mitteilt, dann könnte man das ja in /usr/share/sddm/scripts/Xstop reinstecken.

HI Uwe,

paste mal deine /etc/pam/sddm, obwohl ich nicht glaube, dir viel weiterhelfen zu können, wenn ich nicht selbst so ein KDE/QT-System installiere und debugge.
Es ist deswegen nicht so einfach linuxmuster-pam-umount aufzurufen, weil das eben für alle Dateisysteme aus /etc/security/pam_mount.conf.xml aufgerufen wird. Mit entsprechenden Parametern und vor allem (glaube ich) mit wichtigen Umgebungsvariablen gesetzt.
Besser wäre pammount würde richtig funktionieren. Vllt. hat dein “segfault” was damit zu tun :guessing: …

more research:

https://bugs.launchpad.net/ubuntu/+source/sddm/+bug/1624268

hat nicht direkt was damit zu tun, aber vllt. probierst du es mal mit einem ubutnu 17.10 und lässt 16.04 aus?

VG, Tobias

ich denke, der Fehler hat wirklich was mit dem segfault zu tun, und da kann ich nur abwarten bis eine Aktualisierung kommt, die das Problem behebt.

Bis dahin habe ich eine etwas brutale Lösung gefunden, bei der ich aber keinen Haken sehe:
Offenbar ruft sddm ja nach dem Beenden des XServers das Skript
/usr/share/sddm/scripts/Xstop auf. Dahinein packe ich ein völlig unsanftes
umount -a -t cifs && rm /var/run/pam_mount/*

Sollte hoffentlich kein Problem machen.

hier meine /etc/pam.d/sddm:

#%PAM-1.0
auth requisite pam_nologin.so
auth required pam_succeed_if.so user != root quiet_success

@include common-auth
-auth optional pam_gnome_keyring.so
-auth optional pam_kwallet.so
-auth optional pam_kwallet5.so

@include common-account
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
session optional pam_keyinit.so force revoke
session required pam_limits.so
session required pam_loginuid.so
session required pam_systemd.so
@include common-session
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet.so auto_start
-session optional pam_kwallet5.so auto_start

@include common-password

session required pam_env.so
session required pam_env.so envfile=/etc/default/locale

@include common-pammount

Hallo, Uwe,

ich fürchte, Du hast Dich da tief “verhakt” in den mount/umount-Scripten.
Pragmatischer Ansatz von mir:
Mach das DOCH mit dem lightdm ! Damit funktioniert bei uns - bis auf das von mir angesprochene, sporadisch auftretende Problem der misslingenden Abmeldung, vielleicht lösbar mit dem rsync-force-delete-Ansatz (s.o.), gut.
Lade Dir also mal “mein” Xenial-Mate-Cloop Image-Image herunter, und installiere dort den Plasma-Desktop. Bei mir gab es früher dann Probleme, wenn ich Plasma-Desktop und kubuntu-full (META-Paket) installierte, außerdem gibt es Probleme bei kde-telepathy, dieses Paket musste ich immer weglassen. Ansonsten sollte aber das Xenial-Mate mit Plasma-Oberfläche als Xenial-Plasma funktionieren !

L.G.
Fröhliche Weihnachten,
Christoph Gü