En este tema se describen el usuario del sistema, el servicio de usuario systemd y el privilegio sudo en el contexto de Tableau Server.

Separación de privilegios

Siguiendo las prácticas recomendadas de seguridad estándares, Tableau Server para Linux ejecuta los procesos con los mínimos privilegios posibles. Durante la instalación, se crea el usuario sin privilegios tableau en un grupo autorizado de servidor (tableau).

Este es un ejemplo de entrada de usuario en el archivo /etc/passwd:

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

Todos los procesos se ejecutan como el usuario sin privilegios tableau. Esto significa que, si uno de los procesos de Tableau Server (por ejemplo, un proceso que muestra visualizaciones a los usuarios) estuviera en peligro de alguna forma, solo podría afectar a Tableau Server, y no al resto del sistema Linux. Por este motivo, no debe añadir el usuario sin privilegios tableau al grupo tsmadmin. El grupo tsmadmin solo debe contener cuentas que requieren autorización para acceder a opciones de configuración de Tableau relacionadas con el sistema operativo.

El usuario tableau y el grupo tsmadmin se crean durante el proceso de inicialización de Tableau Server. Puede especificar un usuario sin privilegios o un grupo de autorización de TSM diferentes durante la instalación. Para obtener más información sobre los usuarios y grupos del sistema en el contexto de la instalación y la configuración de LDAP, consulte Almacén de identidades.

Privilegios sudo

La primera versión (10.5) de Tableau Server en Linux dependía de privilegios sudo mediante la actualización del archivo sudoers. Si se actualiza el archivo sudoers, entrará en conflicto con algunas políticas de seguridad y algunas prácticas recomendadas de configuración de la administración de sistemas. Por tanto, a partir de la versión 2018.1 de Tableau Server, ya no se crea ni utiliza un usuario con privilegios (tsmagent). La versión actual de Tableau Server tampoco actualiza ni incluye un archivo sudoers específico de Tableau.

Todas las operaciones con privilegios ahora se producen durante la instalación de paquetes y software.

Servicio de usuario systemd

En la versión 10.5 de Tableau Server en Linux, se necesitaban privilegios sudo para modificar o reiniciar los servicios de TSM, que requerían comandos systemctl. Todos los servicios de TSM se ejecutaban desde el proceso systemd normal de todo el sistema (process ID 1, que ejecuta todos los procesos en el sistema operativo). En este procedimiento, el proceso systemd se ejecuta como raíz y, por tanto, la versión 10.5 de Tableau Server requería privilegios sudo.

A partir de la versión 2018.1, hemos eliminado la necesidad de privilegios sudo aprovechando la capacidad de systemd de ejecutarse como un servicio de usuario. El servicio de usuario systemd se ejecuta como un usuario normal, de modo que no requiere privilegios especiales una vez habilitado.

En casos de uso normales, no tendrá que ejecutar comandos en systemd: TSM se encargará de ello. Sin embargo, es posible que tenga que interactuar con los servicios de TSM para solucionar problemas. Al igual que en versiones anteriores, ejecutará los mismos comandos systemctl para estas situaciones. Sin embargo, los comandos deben ejecutarse como el usuario tableau, no como raíz. Si ha especificado otro usuario de sistema sin privilegios durante la configuración de Tableau Server, ejecute los comandos como este usuario.

Ejecución de comandos systemctl

Use la siguiente sintaxis de ejemplo para ejecutar solicitudes en systemd con los comandos systemctl.

Inicie una sesión como el usuario sin privilegios. El selector -l es fundamental para establecer las variables de entorno adecuadamente.

sudo su -l tableau

A continuación, ejecute los comandos. Por ejemplo:

systemctl --user status tabadmincontroller_0

systemctl --user restart tabadmincontroller_0

¡Gracias por sus comentarios!