Fehler des systemd-Benutzerdiensts
Wenn Sie während einer Neuinstallation ein Upgrade durchführen oder initialize-tsm
ausführen, wird möglicherweise einer der folgenden Fehler angezeigt:
- "Failed to get D-Bus connection: No such file or directory" (Fehler beim Abrufen der D-Bus-Verbindung: keine solche Datei oder Verzeichnis vorhanden)
- "$XDG_RUNTIME_DIR not found" ("$XDG_RUNTIME_DIR nicht gefunden)
- "systemd unit user@<userID> is not running. Check /var/log/messages or /var/log/syslog." (systemd unit user@<userID> wird nicht ausgeführt. Prüfen Sie "/var/log/messages" oder "/var/log/syslog.")
Hintergrund
Ab 2018.1 verwendet Tableau Server den systemd
-Benutzerdienst zum Verwalten von Prozessen. Es gibt folglich einen systemd
-Prozess, der als nicht privilegierter Benutzer ausgeführt wird. Bei der Tableau Server-Einrichtung wird standardmäßig ein nicht privilegiertes Konto namens tableau
erstellt. Die Tableau Server-Prozesse werden aus dem systemd
-Prozess und nicht aus dem systemweiten systemd
-Prozess erzeugt, der als Root ausgeführt wird.
Wichtig: Diese Hinweise zur Fehlerbehebung gelten in erster Linie für RHEL 7-basierte Distributionen. Wenn Sie jedoch einen dieser Fehler sehen, ist es möglich, dass die gleichen Probleme bei Ubuntu-Distributionen vorliegen.
Der systemd
-Benutzerdienst wird nicht so häufig wie der normale systemd
-Prozessmanager verwendet. Von Red Hat wurde der systemd
-Benutzerdienst in RHEL 7 deaktiviert (und damit alle Distributionen, die von RHEL stammen, etwa CentOS, Oracle Linux 7, Amazon Linux 2). Red Hat sicherte Tableau jedoch zu, dass die Ausführung des systemd
-Benutzerdiensts unterstützt wird, sofern der Dienst erneut aktiviert wird.
Upgrade von Tableau Server für Linux 10.5
Wenn Sie ein Upgrade von Tableau Server 10.5 durchführen, überprüfen Sie, ob der nicht privilegierte Benutzer über eine gültige Shell und ein gültiges Basisverzeichnis verfügt. Für Tableau Server 10.5 hat Tableau den nicht privilegierten Benutzer absichtlich so erstellt, dass die Shell auf /sbin/nologin
und das Basisverzeichnis auf "/
" festgelegt ist. Wenn der nicht privilegierte Benutzer durch initialize-tsm
erstellt wurde, dann wurden die Shell und das Basisverzeichnis beim Upgrade auf 2018.1 von Tableau aktualisiert.
Wenn Sie jedoch den nicht privilegierten Benutzer während der Erstinstallation von 10.5 erstellt haben, wird beim Versuch des Upgrades ein Fehler angezeigt.
Um dies zu beheben, müssen Sie die Shell auf /sbin/nologin
und das Basisverzeichnis auf "/
" festlegen und das Upgrade dann erneut ausführen.
Fehlerbehebung bei Neuinstallation
Überprüfen Sie, ob der systemd
-Benutzerdienst ausgeführt wird
Führen Sie zur Überprüfung den Befehl ps -fww $(pgrep -f "systemd --user")
durch.
Wenn der systemd
-Benutzerdienst nicht ausgeführt wird, konnte er nicht gestartet werden.
Orientieren Sie sich zur Fehlerbehebung an dieser Liste:
Überprüfen Sie die Protokolle in
/var/log/messages
.Führen Sie
journalctl
aus.Stellen Sie sicher, dass in den von Ihnen an Ihrer PAM-Konfiguration möglicherweise vorgenommenen Anpassungen
pam_systemd.so
nicht entfernt wurde.Fehlt der RHEL 7-PAM-Datei
/etc/pam.d/system-auth
die folgende Zeile:-session optional pam_systemd.so
muss sie wieder hinzugefügt werden, damit Tableau Server funktioniert.
Wenn
-session optional pam_systemd.so
in Ihrer PAM-Konfiguration vorhanden ist, der Benutzerdienst nicht gestartet werden kann und die Fehlermeldung$XDG_RUNTIME_DIR not found
in/var/log/messages
angezeigt wird, sollten Sie nicht versuchen, die Umgebungsvariable festzulegen. In diesem Szenario ist der Fehler nicht korrekt.Der eigentliche Fehler besteht darin, dass das PAM-Modul
pam_systemd.so
die Benutzersitzung nicht zuweisen kann. Die Standardkonfiguration unterdrückt Fehlermeldungen vonpam_systemd.so
. Ändern Sie die Zeile in/etc/pam.d/system-auth
von-session optional pam_systemd.so
zusession optional pam_systemd.so debug
, um Fehlermeldungen und Debugmeldungen anzuzeigen. (Durch das Entfernen des vorangestellten Bindestrichs werden die Fehlermeldungen angezeigt. Wirddebug
hinzugefügt, wird eine ausführlichere Protokollierung angezeigt.)Nun können Sie in den Dateien
/var/log/messages
,/var/log/secure
und/var/log/audit/audit.log
nachsehen, um die Fehlermeldungen anzuzeigen.
Beispiel
Möglicherweise wird die folgende Fehlermeldung angezeigt:
systemd
-logind: Failed to mount per-user tmpfs directory /run/user/0: Permission denied
In diesem Fall führt die Online-Suche zum Red Hat-KB-Artikel https://access.redhat.com/solutions/2460611(Link wird in neuem Fenster geöffnet).
Im Artikel wird empfohlen, das Paket selinux-policy
durch die Ausführung von sudo yum update selinux-policy
zu aktualisieren.
In einigen Fällen behebt ein Upgrade von Version 3.12.X auf 3.13.X ein $XDG_RUNTIME_DIR not found
-Problem. Führen Sie nach der Paketaktualisierung sudo reboot
aus.