Systembenutzer, Sudo-Zugriffsrechte und systemd
In diesem Thema werden Systembenutzer, der systemd-Benutzerdienst und Sudo-Zugriffsrechte im Zusammenhang mit Tableau Server beschrieben.
Trennung von Zugriffsrechten
Unter Einhaltung von bewährten Standard-Sicherheitsverfahren führt Tableau Server für Linux Prozesse nach dem Prinzip des niedrigst möglichen Zugriffsrechts aus. Während der Installation wird der Benutzer ohne Zugriffsrechte tableau in einer serverautorisierten Gruppe (tableau) erstellt.
Ein Beispiel für Benutzereinträge in der Datei "/etc/passwd" lautet wie folgt:
tableau:x:993:991:Tableau Server:/var/opt/tableau/tableau_server:/bin/bash
Alle Prozesse werden vom Benutzer "tableau" ohne Zugriffsrechte ausgeführt. Das bedeutet, dass sich im Falle eines Problems mit einem der Tableau Server-Prozesse (wie zum Beispiel ein Prozess zum Anzeigen von Visualisierungen für Benutzer) dieses Problem nur auf Tableau Server und nicht auf den Rest des Linux-Systems auswirken würde. Aus diesem Grund sollten Sie den Benutzer ohne Zugriffsrechte tableau
nicht zur Gruppe tsmadmin
hinzufügen. Die Gruppe tsmadmin
sollte nur Konten enthalten, für die eine Autorisierung für den Zugriff auf betriebssystembezogene Tableau-Konfigurationen erforderlich ist.
Der Benutzer tableau
und die Gruppe tsmadmin
werden vom Tableau Server-Initialisierungsprozess erstellt. Sie können während der Installation einen anderen Benutzer ohne Zugriffsrechte oder eine Gruppe mit TSM-Autorisierung angeben. Weitere Informationen zu Systembenutzern und -gruppen in Bezug auf die Installation und LDAP-Konfiguration finden Sie unter Identitätsspeicher.
Sudo-Zugriffsrechte
Die erste Version (10.5) von Tableau Server für Linux basierte auf Sudo-Zugriffsrechten per Aktualisierung der "sudoers"-Datei. Die Aktualisierung der sudoers-Datei führt zu Konflikten mit einigen der Best Practices und Sicherheitsrichtlinien im Hinblick auf die Systemverwaltungskonfiguration. Demzufolge werden in der Version 2018.1 (und höher) von Tableau Server keine Benutzer mit Zugriffsrechten (tsmagent
) mehr erstellt oder verwendet. Die aktuelle Version von Tableau Server aktualisiert oder beinhaltet auch keine Tableau-spezifische "sudoers"-Datei.
Alle Vorgänge mit Zugriffsrechten erfolgen nun während der Paket- und Softwareinstallation.
systemd-Benutzerdienst
In der Version 10.5 von Tableau Server für Linux waren Sudo-Zugriffsrechte erforderlich, um die TSM-Dienste zu ändern oder neu zu starten. Für diese Dienste wurden "systemctl"-Befehle benötigt. Alle TSM-Dienste wurden über den normalen systemweiten "systemd"-Prozess ausgeführt (process ID 1
für die Ausführung aller Prozesse im Betriebssystem). In diesem Schema wird der "systemd"-Prozess als Root ausgeführt. Daher waren in Version 10.5 von Tableau Server Sudo-Zugriffsrechte erforderlich.
In den aktuellen Versionen 2018.1 (und höher) haben wir die Notwendigkeit von Sudo-Zugriffsrechten entfernt, indem die "systemd"-Funktion als Benutzerdienst ausgeführt wird. Der "systemd"-Benutzerdienst wird als normaler Benutzer ausgeführt. Daher sind nach seiner Aktivierung keine speziellen Zugriffsrechte erforderlich.
In normalen Anwendungsfällen müssen Sie keine Befehle an "systemd" ausgeben, da sich TSM darum kümmert. In Fehlerbehebungsszenarien müssen Sie jedoch möglicherweise mit den TSM-Diensten interagieren. Wie in den vorherigen Versionen geben Sie für diese Szenarien dieselben "systemctl"-Befehle aus. Die Befehle sollten jedoch als tableau
-Benutzer und nicht als Root ausgeführt werden. Wenn Sie während der Einrichtung von Tableau Server einen anderen Systembenutzer ohne Zugriffsrechte angegeben haben, führen Sie die Befehle als dieser Benutzer aus.
Ausführen von "systemctl"-Befehlen
Geben Sie mithilfe des folgenden Syntaxbeispiels eine Anforderung an "systemd" mit den "systemctl"-Befehlen aus.
Starten Sie eine Sitzung als Benutzer ohne Zugriffsrechte. Das Flag -l
ist wichtig, um die Umgebungsvariablen ordnungsgemäß festzulegen.
sudo su -l tableau
Geben Sie dann Befehle aus. Beispiel:
systemctl --user status tabadmincontroller_0
systemctl --user restart tabadmincontroller_0