staging.inyokaproject.org

lightdm/gtk-greeter: Login takes very long if a user's home is not available

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

fnatter

Anmeldungsdatum:
19. März 2020

Beiträge: 17

Ubuntu 22.04 / Mate 1.26.0

  • we use autofs to mount homes on machine A using NFS (user X has his home on machine B)

  • user X is logged in, and has shut down his machine B (the use case could be that the machine is in suspend-to-{ram,disk}!)

  • any user Y!=X who logs in (lightdm/gtk-greeter) for minutes!

  • What is reading from user X's home even when user Y tries to login??

  • I disabled user avatars on machine A (sudo lightdm-gtk-greeter-settings), no change

Many Thanks in Advance!!

Cheers and Best Regards, Felix

micneu

Avatar von micneu

Anmeldungsdatum:
19. Januar 2021

Beiträge: 845

Du bist hier in einem DEUTSCHEN Forum, bitte auf DEUTSCH

fnatter

(Themenstarter)

Anmeldungsdatum:
19. März 2020

Beiträge: 17

Liebe Mate Experten,

entschuldigung, jetzt auf Deutsch:

  • wir benutzen autofs um NFS shares (homes) auf Maschine A zu mounten

  • Benutzer X ist eingeloggt auf A (hat sein home auf Maschine B und B heruntergefahren)

(Anwendungsfall könnte sein, dass B in suspend-to-{ram,disk} ist!)

  • jeder Benutzer Y (X!=Y) der sich einloggt (lightdm/gtk-greeter) muss minutenlang warten

  • Was liest von Benutzer X's HOME wenn Benutzer Y sich einzuloggen versucht?

  • I have Benutzer avatars auf Maschine A abgestellt (sudo lightdm-gtk-greeter-settings)

(muss ich lightdm neu starten?)

Vielen Dank im Voraus!

Viele Grüße, Felix

micneu

Avatar von micneu

Anmeldungsdatum:
19. Januar 2021

Beiträge: 845

* Wer ist der NFS Server, das hast du nicht hier aufgeführt?

  • Der NFS Server läuft auch IMMER?

  • Bitte die Konfig vom NFS Server und den fstab Eintrag vom Rechner A

fnatter

(Themenstarter)

Anmeldungsdatum:
19. März 2020

Beiträge: 17

micneu schrieb:

* Wer ist der NFS Server, das hast du nicht hier aufgeführt?

  • Der NFS Server läuft auch IMMER?

  • Bitte die Konfig vom NFS Server und den fstab Eintrag vom Rechner A

Der NFS Server läuft lokal auf der Maschine B und ist nicht errreichbar. mount|grep USER sieht so aus:

192.168.193.81:/export/USER on /home/USER type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,soft,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.194.242,local_lock=none,addr=192.168.193.81)

Meine Frage ist WARUM jemand auf /home/USER zugreift, wenn USER2 sich einloggt.

Ich weiß, dass die Session von USER kaputt ist.

Vielen Dank und viele Grüße,

Felix

Bearbeitet von Thomas_Do:

Bitte verwende in Zukunft Codeblöcke, um die Übersicht im Forum zu verbessern!

micneu

Avatar von micneu

Anmeldungsdatum:
19. Januar 2021

Beiträge: 845

Wenn du die Regeln im Forum gelesen hättest, wüsstest du das man ausgaben von Konfigurationen usw. als codeblock postet Ich gehe davon aus das es nach dem Hochfahren versucht wird automatisch zu mounten
FRAGE:

  • ist das ein Firmen Netzwerk?

  • Bist du der ADMIN in dem Netzwerk?

  • warum wird ein NFS Server in den standby geschickt, wenn ich einen Server betreibe soll der auch 24/7 nutzbar sein?

fnatter

(Themenstarter)

Anmeldungsdatum:
19. März 2020

Beiträge: 17

micneu schrieb:

Wenn du die Regeln im Forum gelesen hättest, wüsstest du das man ausgaben von Konfigurationen usw. als codeblock postet

Ok, entschuldigung.

Ich gehe davon aus das es nach dem Hochfahren versucht wird automatisch zu mounten

Es wurde beim Zugriff über autofs gemountet. Es kann nicht unmounted werden, weil de user noch eingeloggt ist.


FRAGE:

  • ist das ein Firmen Netzwerk?

Ja.

  • Bist du der ADMIN in dem Netzwerk?

Ja.

micneu

Avatar von micneu

Anmeldungsdatum:
19. Januar 2021

Beiträge: 845

warum läuft Rechner B nicht 24/7, es ist doch ein Server? Bitte nochmal in einzelne codeblöcke

  • Konfig vom NFS Server

  • fstab Eintrag vom Rechner A

micneu

Avatar von micneu

Anmeldungsdatum:
19. Januar 2021

Beiträge: 845

fnatter schrieb:

micneu schrieb: Es wurde beim Zugriff über autofs gemountet. Es kann nicht unmounted werden, weil de user noch eingeloggt ist.

Wenn du der admin bist solltest du wissen das du angemeldete Benutzer vom System runterwerfen kannst (du hast noch nicht viel Erfahrung)?

fnatter

(Themenstarter)

Anmeldungsdatum:
19. März 2020

Beiträge: 17

hallo micneu,

  • ich habe schon Erfahrung als Admin, ich glaube nur wir reden aneinander vorbei 😉

  • Ich glaube die NFS Konfiguration ist nicht wichtig, bitte siehe meine Frage unten ☺

  • Ich rede von HOME automounts, d.h. Rechner B ist der primäre Rechner von USER (der das HOME per NFS exportiert), A ist ein Rechner für benchmarks. Wir möchten, dass jeder User sich (mit dem gleichen HOME) an jeder Maschine einloggen kann, besonders am Benchmark-Rechner.

  • hier ist der use case: Rechner B geht schlafen (suspend-to-{ram,disk}) und USER ist leider noch eingeloggt auf A

  • B ist vielleicht nur kurz am Schlafen, und USER möchte dann evtl. seine Session auf A fortsetzen bzw. USER2 möchte sich dann einloggen

  • klar kann ich USER manuell ausloggen, aber meine Frage ist:

"Warum greift lightdm auf /home/USER zu, wenn USER2 sich einloggen will?" Ich habe schon avatars abgestellt, weil mir plausibel schien, dass lightdm auf /home/USER zugreift, um dessen avatar zu laden, aber das scheint es nicht zu sein (s.o.: sudo lightdm-gtk-greeter-settings).

  • Irgendwelche anderen Ideen?

Vielen Dank und viele Grüße, Felix

micneu

Avatar von micneu

Anmeldungsdatum:
19. Januar 2021

Beiträge: 845

Wenn ich es richtig verstanden habe,

  • Das die Arbeitsplätze ihre Verzeichnisse per NFS anbieten, warum macht ihr das so, hört sich für mich Falsch an.

  • Ich persönlich würde es für logisch finden einen „Server“ der 24/7 läuft der KEIN Standby macht, auf dem die NFS-Freigaben liegen und die Workstation/Arbeitsplätze verbinden sich

  • Bau doch lieber einen Job der die Daten auf den Server synchronisiert.

Bitte mal einen Grafischen netzwerkplan, wie ihr das bei euch aufgebaut habt. Bei mir ist der Zentrale Server ein TrueNAS Core (SMB) auf den die daten für alle Rechner in meinem Netzt liegen

Mein Ansatz:

┌─────────────────────────┐
│  Fileserver (smb/nfs)   │
└───────────┬─────────────┘
            │
            │
            - Freigabe:
              - Rechner_A
              - Rechner_B
              - Rechner_C

fnatter

(Themenstarter)

Anmeldungsdatum:
19. März 2020

Beiträge: 17

micneu schrieb:

Wenn ich es richtig verstanden habe,

  • Das die Arbeitsplätze ihre Verzeichnisse per NFS anbieten, warum macht ihr das so, hört sich für mich Falsch an.

  • Ich persönlich würde es für logisch finden einen „Server“ der 24/7 läuft der KEIN Standby macht, auf dem die NFS-Freigaben liegen und die Workstation/Arbeitsplätze verbinden sich

  • Bau doch lieber einen Job der die Daten auf den Server synchronisiert.

hallo micneu,

vielen Dank für deine Antwort. Falsch ist so eine Sache, wir haben nur andere Ansätze. Wir benutzen diese Lösung aus folgenden Gründen:

  • wir sind eine kleine Firma (schwaches Argument)

  • wenn die Kollegen auf ihrem primären Rechner arbeiten (99% der Zeit), dann macht autofs einen "localhost bind", d.h. das Dateisystem wird lokal ohne NFS gemountet. Das macht einen großen Unterschied.

Vielen Dank und viele Grüße, Felix

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

fnatter schrieb:

[…] "Warum greift lightdm auf /home/USER zu, wenn USER2 sich einloggen will?"

LightDM wird das wohl nicht machen, denn dafür gibt es keinerlei Veranlassung. Die Zuweisung eines Benutzerordners bei der Anmeldung ist Aufgabe von PAM, das hast Du entweder konfiguriert oder auch nicht oder vielleicht sogar falsch.

fnatter

(Themenstarter)

Anmeldungsdatum:
19. März 2020

Beiträge: 17

hallo micneu, hallo kB,

vielen Dank für die Antworten.

Wir stimmen zu, dass PAM (oder systemd/mate-session/...) eher das Problem ist, denn wenn man sich auf dem System ausloggt, dann bleiben Prozesse übrig:

USER     3980  0.2  0.0  17656  9984 ?        Ss   14:14   0:00 /lib/systemd/systemd --user
USER     3981  0.0  0.0 197468  6108 ?        S    14:14   0:00 (sd-pam)
USER     4002  0.0  0.0  49224  7168 ?        S<sl 14:14   0:00 /usr/bin/pipewire
USER     4003  0.0  0.0  33252  7168 ?        Ssl  14:14   0:00 /usr/bin/pipewire-media-session
USER     4529  0.0  0.0 237464  6784 ?        Sl   14:14   0:00 /usr/libexec/geoclue-2.0/demos/agent
USER     5039  0.0  0.0  29052  4864 ?        Ss   14:15   0:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
USER     5194  0.2  0.0  38952 11776 ?        Ss   14:15   0:00 /snap/snapd-desktop-integration/157/usr/bin/snapd-desktop-integration
USER     5212  0.0  0.0 464136  8064 ?        Ssl  14:15   0:00 /usr/libexec/xdg-document-portal
USER     5215  0.0  0.0 236504  6272 ?        Ssl  14:15   0:00 /usr/libexec/xdg-permission-store
USER     5260  0.3  0.0 457320 59968 ?        Sl   14:15   0:00 /snap/snapd-desktop-integration/157/usr/bin/snapd-desktop-integration
USER     5265  0.0  0.0 486516 14080 ?        Ssl  14:15   0:00 /usr/libexec/xdg-desktop-portal
USER     5269  0.3  0.0 702888 60192 ?        Ssl  14:15   0:00 /usr/libexec/xdg-desktop-portal-gnome
USER     5274  0.0  0.0 240996  7936 ?        Ssl  14:15   0:00 /usr/libexec/gvfsd
USER     5279  0.0  0.0 380896  6656 ?        Sl   14:15   0:00 /usr/libexec/gvfsd-fuse /run/user/1000033/gvfs -f
USER     5292  0.0  0.0   2892  1536 ?        S    14:15   0:00 sh -c /usr/lib/x86_64-linux-gnu/libproxy/0.4.17/pxgsettings org.gnome.system.proxy org.gnome.system.proxy.http org.gnome.system.proxy.https org.gnome.system.proxy.ftp org.gnome.system.proxy.socks
USER     5293  0.0  0.0 233468  7168 ?        Sl   14:15   0:00 /usr/lib/x86_64-linux-gnu/libproxy/0.4.17/pxgsettings org.gnome.system.proxy org.gnome.system.proxy.http org.gnome.system.proxy.https org.gnome.system.proxy.ftp org.gnome.system.proxy.socks
USER     5297  0.2  0.0 420644 30176 ?        Ssl  14:15   0:00 /usr/libexec/xdg-desktop-portal-gtk
USER     5302  0.0  0.0 309904  7936 ?        Ssl  14:15   0:00 /usr/libexec/at-spi-bus-launcher
USER     5308  0.0  0.0  28888  4736 ?        S    14:15   0:00 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 12 --address=unix:path=/run/user/1000033/at-spi/bus_0
USER     5311  0.0  0.0 162696  8192 ?        Sl   14:15   0:00 /usr/libexec/at-spi2-registryd --use-gnome-session
USER     5318  0.0  0.0 241116  8960 ?        Sl   14:15   0:00 /usr/bin/gnome-keyring-daemon --start --foreground --components=secrets

MATE zeigt auch ganz oben rechts im "Ausschaltmenü" das Häkchen neben den "ausgeloggten" USER an.

Diese Prozesse bleiben bei GDM3/GNOME3 auf der gleichen Maschine nicht übrig nach dem Logout.

Unsere Hypothese ist, dass PAM/... diese Prozesse nicht richtig ausloggt, daher kann der automounter /home/USER nicht unmounten, und versucht immer darauf zuzugreifen, was zu timeouts und entsprechenden Verzögerungen führt:

[...]
Aug 28 12:30:55 HOST automount[414284]: st_ready: st_ready(): state = 2 path /home
Aug 28 12:31:05 HOST kernel: [1206489.177442] nfs: server 192.168.193.81 not responding, timed out
[...]

lightdm macht auch viele df's, die ins Leere gehen:

$ sudo cat /var/log/syslog | grep USER|grep Input/output
Aug 26 07:17:53 HOST lightdm[270386]: df: /home/USER: Input/output error
Aug 26 07:41:36 HOST lightdm[273114]: df: /home/USER: Input/output error
[...]

Wir haben an PAM nichts konfiguriert, nur an /etc/sssd/sssd.conf:

[domain/default]
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldap://OPENLDAP_IP/
ldap_search_base = dc=COMPANY,dc=com
ldap_id_use_start_tls = True
cache_credentials = True
ldap_tls_reqcert = allow

[sssd]
services = nss, pam
domains = default

[nss]
homedir_substring = /home

Siehe auch diese Bug Reports:

Danke und viele Grüße,

Felix

fnatter

(Themenstarter)

Anmeldungsdatum:
19. März 2020

Beiträge: 17

hallo micneu, hallo kB,

für das Protokoll: ich bin hier rein gelaufen: https://bugs.launchpad.net/ubuntu/+source/geoclue-2.0/+bug/1871728

(geoclue in der Session wird nicht beendet, deshalb kann das HOME nicht unmountet werden).

Mögliche Lösungen:

  1. KillUserProcesses = yes in /etc/systemd/logind.conf

  2. geoclue deinstallieren oder deaktivieren

Viele Grüße, Felix

Antworten |