Usuário do sistema, privilégios sudo e systemd
Este tópico descreve o usuário do sistema, o serviço de usuário systemd e o privilégio sudo no contexto do Tableau Server.
Separação de privilégios
Para seguir as práticas recomendadas padrão de segurança, o Tableau Server para Linux executa processos com a menor quantidade possível de privilégios. Durante a instalação, o usuário sem privilégio, tableau, é criado em um grupo autorizado do servidor (tableau).
Um exemplo de entrada de usuário no arquivo /etc/passwd é:
tableau:x:993:991:Tableau Server:/var/opt/tableau/tableau_server:/bin/bash
Todos os processos são executados como o usuário tableau sem privilégios. Isso significa que se um dos processos do Tableau Server (como um processo que mostra visualizações para usuários) for corrompido de alguma forma, somente o Tableau Server seria afetado, em vez do sistema Linux. Por esse motivo, não adicione o usuário sem privilégios tableau
ao grupo tsmadmin
. O grupo tsmadmin
deve conter somente contas que exigem autorização para acessar configurações do Tableau relacionadas ao sistema operacional.
O usuário tableau
e o grupo tsmadmin
são criados pelo processo de inicialização do Tableau Server. Você pode especificar um usuário sem privilégios ou um grupo de autenticação do TSM diferente durante a instalação. Para obter mais informações sobre usuários e grupos do sistema, no contexto da instalação e configuração do LDAP, consulte Repositório de identidades.
Privilégios sudo
A primeira versão (10.5) do Tableau Server no Linux dependia de privilégios sudo, ao atualizar o arquivo sudoers. A atualização do arquivo sudoers entra em conflito com algumas práticas recomendadas e políticas de segurança para a configuração do gerenciamento de sistemas. Portanto, a versão 2018.1 (e posterior) do Tableau Server não cria mais ou usa um usuário privilegiado (tsmagent
). Além disso, a versão atual do Tableau Server não atualiza ou inclui um arquivo sudoers específico do Tableau.
Todas as operações privilegiadas agora ocorrem durante a instalação do pacote e do software.
Serviço de usuário systemd
Na versão 10.5 do Tableau Server no Linux, os privilégios sudo foram necessários para modificar ou reiniciar os serviços TSM, que necessitaram de comandos systemctl. Todos os serviços do TSM foram executados no processo systemd normal em todo o sistema (process ID 1
, que executa todos os processos no sistema operacional). Neste esquema, o processo systemd é executado como raiz. Portanto, a versão 10.5 do Tableau Server necessitou de privilégios sudo.
Com as versões de 2018.1 (e posterior) atuais, removemos a necessidade de privilégios sudo, ao utilizarmos o recurso systemd para execução como um serviço do usuário. O serviço de usuário systemd é executado como um usuário normal, então ele não precisa de privilégios especiais quando for ativado.
Nos casos de uso normal, você não precisará emitir comando para o systemd porque o TSM faz isso. No entanto, em cenários de solução de problemas, você pode precisar interagir com os serviços de TSM. Assim como nas versões anteriores, você emitirá os mesmos comandos systemctl para esses cenários. No entanto, os comandos devem ser executados como usuário tableau
e não como raiz. Se você especificou um usuário do sistema sem privilégios durante a configuração do Tableau Server, então execute os comandos como esse usuário.
Execução dos comandos systemctl
Use o exemplo de sintaxe a seguir para emitir a solicitação ao systemd com os comandos systemctl.
Inicie uma sessão como um usuário sem privilégios. O sinalizador -l
é crítico para definir as variáveis de ambiente corretamente.
sudo su -l tableau
Em seguida, emita os comandos. Por exemplo:
systemctl --user status tabadmincontroller_0
systemctl --user restart tabadmincontroller_0