系統使用者、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 設定的上下文中參閱身分存放區。
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