Systeemgebruiker, sudo-rechten en systemd

In dit onderwerp worden de systeemgebruiker, de systemd-gebruikersservice en sudo-rechten in de context van Tableau Server beschreven.

Scheiding van privileges

Tableau Server voor Linux hanteert de beste standaardbeveiligingspraktijken en voert processen uit met zo min mogelijk bevoegdheden. Tijdens de installatie wordt een gebruiker die geen rechten heeft, tableau, aangemaakt in een door de server geautoriseerde groep (tableau).

Een voorbeeld van een gebruikersinvoer in het bestand /etc/passwd ziet er als volgt uit:

  • tableau:x:993:991:Tableau Server:/var/opt/tableau/tableau_server:/bin/bash

Alle processen worden uitgevoerd als de tableau-gebruiker zonder rechten. Dit betekent dat als een van de Tableau Server-processen (zoals een proces dat visualisaties aan gebruikers toont) op enigerlei wijze wordt gecompromitteerd, dit alleen gevolgen heeft voor Tableau Server en niet voor de rest van het Linux-systeem. Om deze reden mag u de tableau-gebruiker die geen rechten heeft, niet toevoegen aan de groep tsmadmin. De tsmadmin-groep mag alleen accounts bevatten die autorisatie nodig hebben om toegang te krijgen tot OS-gerelateerde Tableau-configuraties.

De tableau-gebruiker en tsmadmin-groep worden gemaakt door het initialisatieproces van Tableau Server. Tijdens de installatie kunt u een andere gebruiker zonder rechten of een TSM-autorisatiegroep opgeven. Zie Identiteitenarchief voor meer informatie over systeemgebruikers en -groepen, in de context van installatie en LDAP-configuratie.

sudo-rechten

De eerste versie (10.5) van Tableau Server op Linux vertrouwde op sudo-rechten door het sudoers-bestand bij te werken. Het bijwerken van het sudoers-bestand is in strijd met bepaalde best practices voor systeembeheerconfiguratie en beveiligingsbeleid. Daarom maakt of gebruikt de versie 2018.1 (en later) van Tableau Server geen gebruiker meer die over rechten beschikt (tsmagent). De huidige versie van Tableau Server bevat ook geen Tableau-specifiek sudoers-bestand en werkt dit ook niet bij.

Alle bewerkingen waarvoor rechten zijn vereist, vinden nu plaats tijdens de installatie van het pakket en de software.

systemd-gebruikersservice

In versie 10.5 van Tableau Server op Linux waren sudo-rechten vereist om de TSM-services te wijzigen of opnieuw te starten, waarvoor systemctl-opdrachten nodig waren. Alle TSM-services werden uitgevoerd vanuit het normale systeembrede systemd-proces (process ID 1, die alle processen op het besturingssysteem uitvoert). In dit schema wordt het systemd-proces als root uitgevoerd. Daarom waren voor versie 10.5 van Tableau Server sudo-rechten vereist.

Met de huidige releases 2018.1 (en later) hebben we de noodzaak voor sudo-rechten verwijderd door gebruik te maken van de systemd-mogelijkheid om als een gebruikersservice te draaien. De systemd-gebruikersservice wordt uitgevoerd als een normale gebruiker en heeft daarom geen speciale rechten nodig nadat deze is ingeschakeld.

Bij normaal gebruik hoeft u geen opdrachten aan systemd te geven, omdat TSM dat voor u regelt. Voor het oplossen van problemen kan het echter nodig zijn om met de TSM-services te communiceren. Net als bij de vorige versies gebruikt u voor deze scenario's dezelfde systemctl-opdrachten. Opdrachten moeten echter worden uitgevoerd als de tableau-gebruiker, en niet als root. Als u tijdens de installatie van Tableau Server een andere systeemgebruiker zonder rechten hebt opgegeven, voert u de opdrachten uit als die gebruiker.

De systemctl-opdrachten uitvoeren

Gebruik het volgende syntaxisvoorbeeld om een verzoek aan systemd te sturen met de systemctl-opdrachten.

Start een sessie als gebruiker zonder rechten. De vlag -l is essentieel om omgevingsvariabelen correct in te stellen.

sudo su -l tableau

Voer dan de opdrachten uit. Bijvoorbeeld:

systemctl --user status tabadmincontroller_0

systemctl --user restart tabadmincontroller_0