ผู้ใช้ระบบ สิทธิ์ sudo และ systemd
หัวข้อนี้อธิบายผู้ใช้ระบบ บริการผู้ใช้ systemd และสิทธิ์ sudo ในบริบทของ Tableau Server
การแยกสิทธิ์
ตามแนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยมาตรฐาน Tableau Server สำหรับ Linux จะรันกระบวนการโดยมีสิทธิ์น้อยที่สุดเท่าที่จะเป็นไปได้ ระหว่างการติดตั้ง 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
ควรมีเฉพาะบัญชีที่ต้องมีการอนุญาตเพื่อเข้าถึงการกำหนดค่า Tableau ที่เกี่ยวข้องกับระบบปฏิบัติการ
ผู้ใช้ tableau
และกลุ่ม tsmadmin
ถูกสร้างขึ้นโดยกระบวนการเริ่มต้น Tableau Server คุณระบุผู้ใช้ที่ไม่มีสิทธิ์อื่นหรือกลุ่มการให้สิทธิ์ TSM ระหว่างการติดตั้งได้ หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับผู้ใช้ระบบและกลุ่ม ในบริบทของการติดตั้งและการกำหนดค่า LDAP โปรดดู ที่เก็บข้อมูลประจำตัว
สิทธิ์ sudo
เวอร์ชันแรก (10.5) ของ Tableau Server บน Linux อาศัยสิทธิ์ sudo โดยการอัพเดตไฟล์ sudoer การอัปเดตไฟล์ sudoer ขัดแย้งกับแนวทางปฏิบัติที่ดีที่สุดในการกำหนดค่าการจัดการระบบและนโยบายความปลอดภัย ดังนั้นเวอร์ชัน 2018.1 (และใหม่กว่า) ของ Tableau Server จะไม่สร้างหรือใช้ผู้ใช้ที่มีสิทธิ์อีกต่อไป (tsmagent
) เวอร์ชันปัจจุบันของ Tableau Server ไม่อัปเดตหรือรวมไฟล์ sudoer เฉพาะ Tableau
การดำเนินการที่มีสิทธิ์ทั้งหมดเกิดขึ้นระหว่างการติดตั้งแพ็กเกจและซอฟต์แวร์
บริการผู้ใช้ systemd
ใน Tableau Server เวอร์ชัน 10.5 บน Linux ต้องใช้สิทธิ์ sudo เพื่อแก้ไขหรือรีสตาร์ทบริการ TSM ซึ่งต้องใช้คำสั่ง systemctl บริการ TSM ทั้งหมดถูกรันจากกระบวนการ systemd ทั้งระบบปกติ (process ID 1
ซึ่งรันกระบวนการทั้งหมดบนระบบปฏิบัติการ) ในรูปแบบนี้ กระบวนการ systemd ทำงานเป็นราก ดังนั้น Tableau Server เวอร์ชัน 10.5 จึงต้องการสิทธิ์ sudo
ด้วยเวอร์ชัน 2018.1 (และใหม่กว่า) เวอร์ชันปัจจุบัน เราได้ลบความจำเป็นในการให้สิทธิ์ sudo โดยการใช้ความสามารถของ systemd เพื่อรันเป็นบริการผู้ใช้ บริการผู้ใช้ systemd ทำงานเหมือนผู้ใช้ปกติ ดังนั้นจึงไม่จำเป็นต้องมีสิทธิ์ใดๆ เมื่อเปิดใช้งานแล้ว
ในกรณีการใช้งานปกติ คุณไม่จำเป็นต้องออกคำสั่งให้กับ systemd เพราะ TSM จะดำเนินการกับสิ่งนั้น อย่างไรก็ตาม สำหรับสถานการณ์การแก้ไขปัญหา คุณอาจต้องโต้ตอบกับบริการ TSM เช่นเดียวกับเวอร์ชันก่อนหน้า คุณจะออกคำสั่ง systemctl เดียวกันสำหรับสถานการณ์เหล่านี้ อย่างไรก็ตาม คำสั่งควรรันในฐานะผู้ใช้ tableau
ไม่ใช่ในฐานะราก หากคุณระบุผู้ใช้ระบบที่ไม่มีสิทธิ์อื่นในระหว่างการตั้งค่า Tableau Server ให้รันคำสั่งในฐานะผู้ใช้นั้น
การรันคำสั่ง systemctl
ใช้ตัวอย่างไวยากรณ์ต่อไปนี้เพื่อส่งคำขอไปยัง systemd ด้วยคำสั่ง systemctl
เริ่มเซสชันในฐานะผู้ใช้ที่ไม่มีสิทธิ์ ค่าสถานะ -l
มีความสำคัญต่อการตั้งค่าตัวแปรสภาพแวดล้อมอย่างเหมาะสม
sudo su -l tableau
จากนั้นออกคำสั่ง ตัวอย่าง:
systemctl --user status tabadmincontroller_0
systemctl --user restart tabadmincontroller_0