ปัญหาเกี่ยวกับข้อเสนอแนะอื่น ๆ คือ
- มันทำงานได้ก็ต่อเมื่อคุณสามารถเข้าถึง LAN ขององค์กร (หรือ VPN)
- คุณต้องเก็บรักษาไฟล์ sudoers ไว้ในคอมพิวเตอร์ทุกเครื่องตลอดเวลา
- เป็นโบนัสพวกเขาไม่ได้ทำงานให้ฉันเลย
แต่ฉันต้องการบางสิ่งที่
- แคชทั้งหนังสือรับรองและการเข้าถึง sudo
- มีการจัดการจากส่วนกลาง
ทางออกที่แท้จริงคือการใช้ SSSD และขยาย schema โฆษณา วิธีนี้ SSSD ดึงข้อมูลการตั้งค่า sudo และข้อมูลรับรองผู้ใช้เป็นระยะ ๆ จาก AD และเก็บรักษาแคชในตัวเครื่องไว้ จากนั้นกฎ sudo จะถูกเก็บไว้ในวัตถุโฆษณาซึ่งคุณสามารถ จำกัด กฎคอมพิวเตอร์ผู้ใช้และคำสั่งแม้กระทั่งทั้งหมดที่ไม่เคยสัมผัสไฟล์ sudoers บนเวิร์กสเตชัน
บทแนะนำที่แน่นอนนั้นยาวเกินกว่าที่จะอธิบายได้ที่นี่ แต่คุณสามารถดูคำแนะนำทีละขั้นตอนและสคริปต์บางอย่างเพื่อช่วยในการดำเนินการอัตโนมัติที่นี่:
TL; DR:
AD
รับsudoรุ่นล่าสุดรับไฟล์doc / schema.ActiveDirectoryแล้วนำเข้า (ตรวจสอบให้แน่ใจว่าได้แก้ไขเส้นทางโดเมนตามชื่อโดเมนของคุณ):
ldifde -i -f schema.ActiveDirectory -c "CN=Schema,CN=Configuration,DC=X" "CN=Schema,CN=Configuration,DC=ad,DC=foobar,DC=com" -j .
ตรวจสอบด้วยการแก้ไข ADSI: เปิดบริบทการตั้งชื่อSchemaและค้นหาคลาสsudoRole
ตอนนี้สร้างsudoers OU บนรูทโดเมนของคุณ OU นี้จะเก็บการตั้งค่า sudo ทั้งหมดสำหรับเวิร์กสเตชัน Linux ทั้งหมดของคุณ ภายใต้ OU นี้สร้างวัตถุ sudoRole ในการสร้างวัตถุ sudoRole คุณต้องใช้การแก้ไข ADSI แต่เมื่อสร้างแล้วคุณสามารถใช้ผู้ใช้ของไดเรกทอรีที่ใช้งานอยู่และคอมพิวเตอร์เพื่อปรับเปลี่ยน
สมมติว่าฉันมีคอมพิวเตอร์ชื่อfoo32linuxผู้ใช้ชื่อstewie.griffinและฉันต้องการให้เขารันคำสั่งทั้งหมดด้วย sudo บนคอมพ์นั้น ในกรณีนี้ฉันสร้างวัตถุ sudoRole ภายใต้sudoers OU สำหรับ sudoRole คุณสามารถใช้ชื่อใดก็ได้ที่คุณต้องการ - ฉันใช้ชื่อคอมพิวเตอร์ตั้งแต่ฉันใช้กฎต่อคอมพิวเตอร์ ตอนนี้ตั้งค่าคุณลักษณะดังต่อไปนี้:
- sudoHost : foo32linux
- sudoCommand : ALL
- sudoUser : stewie.griffin
สำหรับคำสั่งคุณสามารถใช้รายการเฉพาะเช่น/ bin / lessหรืออะไรก็ได้
SSSD
เพิ่มใน/etc/sssd/sssd.confของคุณอย่างน้อย:
[sssd]
services = nss, pam, sudo
[domain/AD.FOOBAR.COM]
cache_credentials = True
SSSD รีเฟรชแคชภายในเครื่องด้วยกฎที่อัปเดตทุก ๆ สองสามชั่วโมง แต่วิธีที่ง่ายที่สุดในการทดสอบคือเพียงรีบูทคอมพิวเตอร์ จากนั้นเข้าสู่ระบบด้วยผู้ใช้ AD และตรวจสอบ:
sudo -l
ควรแสดงรายการที่เกี่ยวข้องทั้งหมดที่คุณเพิ่มลงในผู้ใช้และคอมพิวเตอร์นั้น ง่าย peasy!
%Domain^Admins ALL=(ALL) ALL