---
schema_version: "1"
id: 9e3fb9a2e8b9c776fdea36f92f272718e4baeea7e2f270d826ed1d9590aa2537
title: 系统用户、sudo 权限和 systemd
collection: tableau
version: current
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/current/zh-cn/server-linux/security_privilege_linux.md
canonical_url: https://help.tableau.com/current/server-linux/zh-cn/security_privilege_linux.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 8fbd172897aa861e93ccea6a3b62750060c934d5882ea60e25c09077b4810378
description: Understand system user, sudo privileges, and systemd for Tableau Server on Linux.
---
[跳转到主要内容](#main-content)

# 系统用户、sudo 权限和 systemd

本主题介绍 Tableau Server 上下文中的系统用户、systemd 用户服务和 sudo 权限。

## 权限分离

按照标准安全最佳做法，适用于 Linux 的 Tableau Server 会尽可能以最小权限来运行进程。在安装过程中，将会在服务器授权组 (_tableau_) 中创建非特权用户 _tableau_。

下面是 /etc/passwd 文件中的一个示例用户条目：

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

所有进程都以非特权 _tableau_ 用户身份运行。这意味着，如果其中一个 Tableau Server 进程（如向用户显示可视化项的进程）以某种方式受到威胁，那么只能影响 Tableau Server，而不会影响 Linux 系统的其余部分。因此，您不应将 `tableau` 非特权用户添加到 `tsmadmin` 组。`tsmadmin` 组应仅包含需要授权才能访问 OS 相关 Tableau 配置的帐户。

`tableau` 用户和 `tsmadmin` 组通过 Tableau Server 初始化过程创建。您可以在安装过程中指定其他非特权用户或 TSM 授权组。有关系统用户和组的更多信息，请在安装和 LDAP 配置的上下文中参阅[身份存储](https://help.tableau.com/current/server-linux/zh-cn/plan_identity_store.htm)。

## _sudo_ 权限

Linux 版 Tableau Server 的第一个版本 (10.5) 通过更新 sudoers 文件而依赖于 sudo 权限进行操作。更新 sudoers 文件会与某些系统管理配置最佳做法和安全策略冲突。因此，Tableau Server 的 2018.1 版本（及更高版本）不再创建或使用特权用户 (`tsmagent`)。Tableau Server 的当前版本也不会更新或包括特定于 Tableau 的 sudoers 文件。

所有特权操作现在都在程序包和软件安装过程中进行。

## Systemd 用户服务

在 Linux 版 Tableau Server 的 10.5 版本中，需要 sudo 权限才能修改或重新启动 TSM 服务，执行该操作需要 systemctl 命令。所有 TSM 服务都从正常的系统级 systemd 进程（`process ID 1`，该进程运行操作系统上的所有进程）中运行。在此方案中，systemd 进程以 root 用户身份运行。因此，10.5 版本的 Tableau Server 需要 sudo 权限。

对于当前的 2018.1（及更高）版本，我们利用 systemd 以用户服务形式运行的能力，从而不再需要 sudo 权限。Systemd 用户服务以普通用户身份运行，因此启用之后不需要任何特殊权限。

在正常使用情况下，您不需要向 systemd 发出命令，因为 TSM 会执行该操作。不过，对于故障排查方案，您可能需要与 TSM 服务交互。像以前的版本一样，您将为这些方案发出相同的 systemctl 命令。但是，命令应以 `tableau` 用户身份（而不是 root 用户身份）运行。如果在 Tableau Server 设置过程中指定了其他非特权系统用户，则以该用户身份运行命令。

### 运行 systemctl 命令

使用以下语法示例，通过 systemctl 命令发出 systemd 请求。

以非特权用户身份启动会话。`-l` 标志对于正确设置环境变量至关重要。

`sudo su -l tableau`

然后发出命令。例如：

`systemctl --user status tabadmincontroller_0`

`systemctl --user restart tabadmincontroller_0`