ผู้ใช้ระบบ สิทธิ์ 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

ขอบคุณสำหรับข้อเสนอแนะของคุณส่งข้อเสนอแนะของคุณเรียบร้อยแล้ว ขอขอบคุณ