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
journalctlaus.Stellen Sie sicher, dass in den von Ihnen an Ihrer PAM-Konfiguration möglicherweise vorgenommenen Anpassungen
pam_systemd.sonicht entfernt wurde.Fehlt der RHEL 7-PAM-Datei
/etc/pam.d/system-authdie folgende Zeile:-session optional pam_systemd.somuss sie wieder hinzugefügt werden, damit Tableau Server funktioniert.
Wenn
-session optional pam_systemd.soin Ihrer PAM-Konfiguration vorhanden ist, der Benutzerdienst nicht gestartet werden kann und die Fehlermeldung$XDG_RUNTIME_DIR not foundin/var/log/messagesangezeigt 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.sodie Benutzersitzung nicht zuweisen kann. Die Standardkonfiguration unterdrückt Fehlermeldungen vonpam_systemd.so. Ändern Sie die Zeile in/etc/pam.d/system-authvon-session optional pam_systemd.sozusession optional pam_systemd.so debug, um Fehlermeldungen und Debugmeldungen anzuzeigen. (Durch das Entfernen des vorangestellten Bindestrichs werden die Fehlermeldungen angezeigt. Wirddebughinzugefügt, wird eine ausführlichere Protokollierung angezeigt.)Nun können Sie in den Dateien
/var/log/messages,/var/log/secureund/var/log/audit/audit.lognachsehen, 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 deniedIn 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.
