staging.inyokaproject.org

pam_mount scheitert, die verschlüsselte Partition nach dem logout auszuhängen

Status: Ungelöst | Ubuntu-Version: Xubuntu 22.04 (Jammy Jellyfish)
Antworten |

bugblatterbeast

Avatar von bugblatterbeast

Anmeldungsdatum:
30. Januar 2008

Beiträge: 477

Logout mit default Einstellungen in der pam_mount Konfiguration (nur Benutzer, Device und Einhängepunkt angepasst):

Mar 12 14:30:30 Test lightdm[1196]: (mount.c:68): umount messages:
Mar 12 14:30:30 Test lightdm[1196]: (mount.c:72): umount: /test: das Ziel wird gerade benutzt.
Mar 12 14:30:30 Test lightdm[1196]: (mount.c:72): umount /test failed with run_sync status 2
Mar 12 14:30:30 Test lightdm[1196]: (mount.c:72): Device _dev_sdb1 is still in use.
Mar 12 14:30:30 Test lightdm[1196]: (mount.c:882): unmount of /dev/disk/by-uuid/59298681-6da7-46be-a9d8-3bc9ec1d7bfa failed

In der pam_mount Konfiguration /etc/security/pam_mount.conf.xml wurde die Option "logout" bearbeitet. Default:

1
<logout wait="0" hup="no" term="no" kill="no" />

Bearbeitet:

1
<logout wait="15000" hup="no" term="yes" kill="yes" />

Es wurden verschiedene Werte für die Wartezeit (in Millisekunden) und die anderen Attribute ausprobiert. Bei verhältnismäßig langen Wartezeiten ändert sich die Fehlermeldung.

No vfsmount found while searching for "/test" as a container file, or as a mountpoint. (According to the intersection of cmtab (/run/cmtab) with smtabs)

Grundsätzlich ist es aber nach jedem Logout so, dass die verschlüsselte Partition eingehängt bleibt.

Wenn ich nach dem Logout versuche die Partition mit umount.crypt auszuhängen kommt wieder die gleiche Fehlermeldung wie nach der langen Wartezeit:

1
2
umount.crypt /test
No vfsmount found while searching for "/test" as a container file, or as a mountpoint. (According to the intersection of cmtab (/run/cmtab) with smtabs)

Ich muss dann die verschlüsselte Partition normal aus dem Dateisystem aushängen und dann die "mapper device" (ich weiß nicht ob das der richtige Ausdruck ist) schließen.

1
2
umount /test
cryptsetup close _dev_sdb1

Die Konfiguration von pam_mount erlaubt es die mount und umount Befehle festzulegen, die pam_mount bei der An- und Abmeldung verwenden soll. Ein weitere Versuch den ich gemacht habe war, ein Script zu schreiben

1
2
3
4
#!/bin/bash

umount /test
cryptsetup close _dev_sdb1

und dieses Script als umount Befehl festzulegen und mit der langen Wartezeit (15000ms) zu kombinieren.

1
<cryptumount>/usr/local/bin/unmount_test.sh</cryptumount>

Danach konnte ich zwar keine Fehlermeldungen mehr in der log Datei finden. Die verschlüsselte Partition bleibt aber leider trotzdem noch eingehängt.

Ein naheliegender Lösungsansatz wäre noch es mit der lazy Option von umount zu versuchen. Das würde ich aber sehr gerne vermeiden, weil es etwas unzuverlässig ist und im schlimmsten Fall zu Dateifehlern führen kann.

edit: das ist das erste Mal das ich mit pam_mount arbeite. Ich habe jetzt erst mal versucht den Post kurz zu halten. Bitte gerne anfragen, wenn ich irgendwelche Konfigurationsdateien posten soll.

Die Partition ist mit LUKS verschlüsselt und wird auf /test gemountet. Darin liegt das Home-Verzeichnis des Test-Benutzers.

bugblatterbeast

(Themenstarter)
Avatar von bugblatterbeast

Anmeldungsdatum:
30. Januar 2008

Beiträge: 477

Ich habe ein paar Versuche mit folgender pam_mount Konfiguration gemacht

/etc/security/pam_mount.conf.xml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
<!--
        See pam_mount.conf(5) for a description.
-->

<pam_mount>

                <!-- debug should come before everything else,
                since this file is still processed in a single pass
                from top-to-bottom -->

<debug enable="0" />

                <!-- Volume definitions -->


                <!-- pam_mount parameters: General tunables -->

<!--
<luserconf name=".pam_mount.conf.xml" />
-->

<!-- Note that commenting out mntoptions will give you the defaults.
     You will need to explicitly initialize it with the empty string
     to reset the defaults to nothing. -->
<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
<!--
<mntoptions deny="suid,dev" />
<mntoptions allow="*" />
<mntoptions deny="*" />
-->
<volume user="test"
        fstype="crypt"
        path="/dev/disk/by-uuid/59298681-6da7-46be-a9d8-3bc9ec1d7bfa"
        mountpoint="/test"
        options="fsck,relatime"
/>

<mntoptions require="nosuid,nodev" />

<!-- requires ofl from hxtools to be present -->
<logout wait="5000" hup="no" term="yes" kill="yes" />
<debug enable="1" />

                <!-- pam_mount parameters: Volume-related -->

<mkmountpoint enable="1" remove="true" />


</pam_mount>

Bei dieser Konfiguration wurde die logout Option geändert aber keine Änderungen an der Konfiguration der mount/umount Befehle vorgenommen. Das Home-Verzeichnis des Testbenutzers liegt auf der verschlüsselten Partition.

Wenn ich mich nach einem Neustart des Systems das erste mal als Testbenutzer an der Konsole an- und wieder abmelde hat es bisher immer funktioniert, dass die verschlüsselte Partition nach dem logout ausgehängt wird.

Mar 13 13:47:56 Test login[1511]: pam_unix(login:session): session closed for user test
Mar 13 13:47:56 Test login[1511]: (pam_mount.c:706): received order to close things
Mar 13 13:47:56 Test login[1511]: command: 'pmvarrun' '-u' 'test' '-o' '-1' 
Mar 13 13:47:56 Test login[1511]: (pam_mount.c:441): pmvarrun says login count is 0
Mar 13 13:47:56 Test login[1511]: command: 'ofl' '-k15' '/test' 
Mar 13 13:47:56 Test login[1511]: command: 'ofl' '-k9' '/test' 
Mar 13 13:47:56 Test login[1511]: (mount.c:880): going to unmount
Mar 13 13:47:56 Test login[1511]: (mount.c:246): Mount info: globalconf, user=test <volume fstype="crypt" server="(null)" path="/dev/disk/by-uuid/59298681-6da7-46be-a9d8-3bc9ec1d7bfa" mountpoint="/test" cipher="(null)" fskeypath="(null)" fskeycipher="(null)" fskeyhash
="(null)" options="fsck,relatime" /> fstab=0 ssh=0
Mar 13 13:47:56 Test login[1511]: command: 'ofl' '-k0' '/test' 
Mar 13 13:47:56 Test login[1511]: command: 'umount' '/test' 
Mar 13 13:47:56 Test login[1511]: (pam_mount.c:743): pam_mount execution complete
Mar 13 13:47:56 Test login[1511]: (pam_mount.c:116): Clean global config (0)
Mar 13 13:47:56 Test login[1511]: (pam_mount.c:133): clean system authtok=0x5643939799f0 (0)
Mar 13 13:47:56 Test systemd-logind[912]: Session 4 logged out. Waiting for processes to exit.
Mar 13 13:47:56 Test systemd-logind[912]: Removed session 4.

Wenn ich mich dann ohne Neustart ein zweites mal als Testbenutzer an der Konsole an- und wieder abgemeldet habe, funktionierte das Aushängen der verschlüsselten Partition nach dem logout schon nicht mehr.

Mar 13 13:58:30 Test login[1801]: pam_unix(login:session): session closed for user test
Mar 13 13:58:30 Test login[1801]: (pam_mount.c:706): received order to close things
Mar 13 13:58:30 Test login[1801]: command: 'pmvarrun' '-u' 'test' '-o' '-1' 
Mar 13 13:58:30 Test login[1801]: (pam_mount.c:441): pmvarrun says login count is 0
Mar 13 13:58:30 Test login[1801]: command: 'ofl' '-k15' '/test' 
Mar 13 13:58:30 Test login[1801]: command: 'ofl' '-k9' '/test' 
Mar 13 13:58:30 Test login[1801]: (mount.c:880): going to unmount
Mar 13 13:58:30 Test login[1801]: (mount.c:246): Mount info: globalconf, user=test <volume fstype="crypt" server="(null)" path="/dev/disk/by-uuid/59298681-6da7-46be-a9d8-3bc9ec1d7bfa" mountpoint="/test" cipher="(null)" fskeypath="(null)" fskeycipher="(null)" fskeyhash="(null)" options="fsck,relatime" /> fstab=0 ssh=0
Mar 13 13:58:30 Test login[1801]: command: 'ofl' '-k0' '/test' 
Mar 13 13:58:31 Test login[1801]: command: 'umount' '/test' 
Mar 13 13:58:31 Test login[1801]: (mount.c:68): umount messages:
Mar 13 13:58:31 Test login[1801]: (mount.c:72): device-mapper: remove ioctl on _dev_sdb1  failed: Device or resource busy
Mar 13 13:58:31 Test login[1801]: (pam_mount.c:743): pam_mount execution complete
Mar 13 13:58:31 Test login[1801]: (pam_mount.c:116): Clean global config (0)
Mar 13 13:58:31 Test login[1801]: (pam_mount.c:133): clean system authtok=0x561d779679f0 (0)
Mar 13 13:58:31 Test systemd-logind[912]: Session 6 logged out. Waiting for processes to exit.
Mar 13 13:58:31 Test systemd-logind[912]: Removed session 6.

Wenn ich mich als Testbenutzer an der grafischen Oberfläche an- und wieder abgemeldet habe, hat es bisher noch nie funktioniert, dass die verschlüsselte Partition nach dem logout ausgehängt wird.

Mi 13. Mär 14:19:07 CET 2024
Mar 13 14:19:14 Test lightdm: pam_unix(lightdm:session): session closed for user test
Mar 13 14:19:14 Test lightdm: (pam_mount.c:706): received order to close things
Mar 13 14:19:14 Test lightdm: command: 'pmvarrun' '-u' 'test' '-o' '-1' 
Mar 13 14:19:14 Test lightdm: (pam_mount.c:441): pmvarrun says login count is 0
Mar 13 14:19:14 Test lightdm: command: 'ofl' '-k15' '/test' 
Mar 13 14:19:14 Test polkitd(authority=local): Unregistered Authentication Agent for unix-session:c2 (system bus name :1.63, object path /org/gnome/PolicyKit1/AuthenticationAgent, locale de_DE.UTF-8) (disconnected from bus)
Mar 13 14:19:14 Test lightdm: command: 'ofl' '-k9' '/test' 
Mar 13 14:19:14 Test lightdm: (mount.c:880): going to unmount
Mar 13 14:19:14 Test lightdm: (mount.c:246): Mount info: globalconf, user=test <volume fstype="crypt" server="(null)" path="/dev/disk/by-uuid/59298681-6da7-46be-a9d8-3bc9ec1d7bfa" mountpoint="/test" cipher="(null)" fskeypath="(null)" fskeycipher="(null)" fskeyhash="(null)" options="fsck,relatime" /> fstab=0 ssh=0
Mar 13 14:19:14 Test lightdm: command: 'ofl' '-k0' '/test' 
Mar 13 14:19:14 Test lightdm: command: 'umount' '/test' 
Mar 13 14:19:14 Test lightdm: (mount.c:68): umount messages:
Mar 13 14:19:14 Test lightdm: (mount.c:72): umount: /test: das Ziel wird gerade benutzt.
Mar 13 14:19:14 Test lightdm: (mount.c:72): umount /test failed with run_sync status 2
Mar 13 14:19:14 Test lightdm: (mount.c:72): Device _dev_sdb1 is still in use.
Mar 13 14:19:14 Test lightdm: (mount.c:882): unmount of /dev/disk/by-uuid/59298681-6da7-46be-a9d8-3bc9ec1d7bfa failed
Mar 13 14:19:14 Test lightdm: (pam_mount.c:743): pam_mount execution complete
Mar 13 14:19:14 Test lightdm: (pam_mount.c:116): Clean global config (0)
Mar 13 14:19:14 Test lightdm: (pam_mount.c:133): clean system authtok=0x5563e75d0740 (0)
Mar 13 14:19:14 Test systemd-logind[890]: Session c2 logged out. Waiting for processes to exit.
Mar 13 14:19:14 Test systemd-logind[890]: Removed session c2.
Mar 13 14:19:15 Test lightdm: pam_unix(lightdm-greeter:session): session opened for user lightdm(uid=114) by (uid=0)
Mar 13 14:19:15 Test lightdm: (pam_mount.c:568): pam_mount 2.18: entering session stage
Mar 13 14:19:15 Test lightdm: (pam_mount.c:629): no volumes to mount
Mar 13 14:19:15 Test lightdm: command: 'pmvarrun' '-u' 'lightdm' '-o' '1' 
Mar 13 14:19:15 Test lightdm: (pam_mount.c:441): pmvarrun says login count is 2
Mar 13 14:19:15 Test lightdm: (pam_mount.c:660): done opening session (ret=0)
Mar 13 14:19:15 Test systemd-logind[890]: New session c3 of user lightdm.
Mar 13 14:19:15 Test systemd: pam_unix(systemd-user:session): session opened for user lightdm(uid=114) by (uid=0)
Mar 13 14:19:15 Test lightdm: gkr-pam: gnome-keyring-daemon started properly
Mar 13 14:19:16 Test lightdm: pam_succeed_if(lightdm:auth): requirement "user ingroup nopasswdlogin" not met by user "test"

Pauline

Anmeldungsdatum:
19. Juli 2025

Beiträge: 3

Auf linuxmint-22.1 hat es hierauf aufbauend geklappt, als ich hxtools installiert habe. Dann war in der config auch kein cryptumount Eintrag notwendig.

schwarzheit Team-Icon

Supporter
Avatar von schwarzheit

Anmeldungsdatum:
31. Dezember 2007

Beiträge: 5329

@Pauline

oben steht:

Ubuntu-Version: Xubuntu 22.04 (Jammy Jellyfish)

Diese Version ist seit April 2025 EndOfLife.

Deine Antwort ist also nicht mehr relevant bzw. kommt etwas viel zu spät.

Pauline

Anmeldungsdatum:
19. Juli 2025

Beiträge: 3

Nicht zu spät für Leute die nach einer Lösung suchen und nicht so wählerisch sein können mit der Versionsnummer, aber lösch ruhig.

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55572

Pauline schrieb:

Nicht zu spät für Leute die nach einer Lösung suchen und nicht so wählerisch sein können mit der Versionsnummer, aber lösch ruhig.

Nicht mehr unterstützte Versionen werden nicht mehr unterstützt. Es ist auch keine Lösung, ein veraltetes System ohne Sicherheitsupdates weiter zu benutzen.

Also vielleicht erstmal die Denkmurmel einschalten...

Pauline

Anmeldungsdatum:
19. Juli 2025

Beiträge: 3

Mein system wird noch unterstützt und dieser Thread, der sich auf ein nicht unterstütztes System bezieht, hat mir geholfen das Problem zu lösen, da er eine gute Suchmaschienensichtbarkeit hat. Also vielleicht erstmal die Denkmurmel einschalten...

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55572

Pauline schrieb:

Mein system wird noch unterstützt

Und ich hatte lecker Erbsensuppe zum Mittag.

Beides hat für den von dir ausgegrabenen Thread über eine nicht mehr unterstützte Version die selbe Relevanz.

weholei

Anmeldungsdatum:
7. Februar 2019

Beiträge: 878

Das Home-Verzeichnis des Testbenutzers liegt auf der verschlüsselten Partition.

Ich verwende auch pam_mount um nach dem wiki das verschlüsselte home zu mounten

https://wiki.ubuntuusers.de/Daten_verschl%C3%BCsseln/

Bei mir bleibt das /home auch nach dem Abmelden gemountet

ein unter /media/gemeinsam gemountetes (samba Verzeichnis) wird jedoch nach dem Abmelden ausgehängt.

Parameter habe ich außer der im Wiki empfohlenen Zeilen nicht verändert

Antworten |