Utente del sistema, privilegi sudo e systemd

In questo argomento vengono descritti l’utente del sistema, il servizio systemd e i privilegi sudo nel contesto di Tableau Server.

Separare i privilegi

In base alle best practice standard di sicurezza, Tableau Server per Linux esegue i processi utilizzando i privilegi più bassi consentiti. Durante l’installazione viene creato un utente senza privilegi, tableau, in un gruppo autorizzato del server (tableau).

Esempio di utente nel file /etc/passwd:

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

Tutti i processi vengono eseguiti come utente tableau senza privilegi. Ciò significa che se uno dei processi di Tableau Server (ad esempio un processo che mostra le visualizzazioni agli utenti) è stato compromesso in qualche modo, può condizionare solo Tableau Server, non il resto del sistema Linux. Per questo motivo, non aggiungere l’utente tableau senza privilegi al gruppo tsmadmin. Il gruppo tsmadmin deve contenere solo account che richiedono l’autorizzazione per accedere a configurazioni di Tableau relative al sistema operativo.

L’utente tableau e il gruppo tsmadmin vengono creati dal processo di inizializzazione di Tableau Server. Durante l’installazione puoi specificare un utente senza privilegi o un gruppo di autorizzazione TSM diversi. Per maggiori informazioni su utenti e del sistema e gruppi, nel contesto dell’installazione e della configurazione LDAP, consulta Archivio identità.

Privilegi sudo

La prima versione (10.5) di Tableau Server su Linux si basava su privilegi sudo aggiornando il file sudoers. L’aggiornamento del file sudoers entrava in conflitto con alcune best practice per la gestione del sistema e con alcune policy di sicurezza. Pertanto, nella versione 2018.1 (e successive) di Tableau Server non viene più creato o utilizzato un utente con privilegi (tsmagent). Inoltre, la versione corrente dell’aggiornamento di Tableau Server non aggiorna, né include un file sudoers specifico per Tableau.

Tutte le operazioni che richiedono privilegi ora vengono eseguite durante l’installazione del pacchetto e del software.

Servizio utente systemd

Nella versione 10.5 di Tableau Server su Linux sono necessari privilegi sudo per modificare o riavviare i servizi TSM che richiedevano comandi systemctl. Tutti i servizi TSM venivano eseguiti dal normale processo di systemd a livello di sistema (process ID 1, che esegue tutti i processi nel sistema operativo). In questo schema, il processo systemd viene eseguito come root. Pertanto, la versione 10.5 di Tableau Server richiedeva privilegi sudo.

A partire dalla versione 2018.1, abbiamo rimosso l’esigenza di privilegi sudo usando la funzionalità systemd l’esecuzione come servizio utente. Il servizio utente systemd viene eseguito come normale utente, pertanto non necessita di privilegi speciali dopo che è stato abilitato.

Nei casi di utilizzo normale, non devi inviare comandi a systemd perché se ne occupa TSM. Tuttavia, per la risoluzione dei problemi, potrebbe dover interagire con i servizi TSM. Come per le versioni precedenti, invierai gli stessi comandi systemctl per questi scenari. I comandi devono tuttavia essere eseguiti come utente tableau e non come root. Se durante l’installazione di Tableau Server hai specificato un utente diverso e senza privilegi, esegui i comandi utilizzando tale utente.

Eseguire i comandi systemctl

Utilizza il seguente esempio di sintassi per inviare una richiesta a systemd con i comandi systemctl.

Avvia una sessione come utente senza privilegi. Il flag -l è fondamentale per impostare correttamente le variabili ambientali.

sudo su -l tableau

Invia quindi i comandi. Ad esempio:

systemctl --user status tabadmincontroller_0

systemctl --user restart tabadmincontroller_0

Grazie per il tuo feedback.Il tuo feedback è stato inviato. Grazie!