เพิ่มผู้ใช้ AD Domain ให้กับ sudoers จากบรรทัดคำสั่ง


10

ฉันตั้งค่าเซิร์ฟเวอร์ Ubuntu 11.04 VM เพื่อใช้เป็นเซิร์ฟเวอร์ฐานข้อมูล มันจะทำให้ชีวิตของทุกคนง่ายขึ้นถ้าเราสามารถมีคนเข้าสู่ระบบโดยใช้ข้อมูลประจำตัวของ windows และอาจทำให้เครื่องทำงานกับการรักษาความปลอดภัยโฆษณาที่ขับเคลื่อนด้วยปัจจุบันเรามีที่อื่น

ขาแรกของเรื่องนี้สำเร็จง่ายมาก - apt-get install likewise-openและฉันก็ทำธุรกิจได้ค่อนข้างดี ปัญหาที่ฉันมีคือการทำให้ผู้ดูแลระบบของเราเข้าสู่กลุ่ม sudoers - ฉันดูเหมือนจะไม่สามารถทำอะไรได้เลย ฉันได้พยายาม:

a) usermod -aG sudoers [username]
b) การเพิ่มชื่อผู้ใช้ในหลายรูปแบบ (DOMAIN \ user, user @ domain) ไปยังไฟล์ sudoers

ไม่มีสิ่งใดที่ดูเหมือนจะทำฉันยังคงได้รับแจ้งว่า "DOMAIN \ user ไม่ได้อยู่ในไฟล์ sudoers เหตุการณ์นี้จะถูกรายงาน"

ดังนั้นฉันจะเพิ่มผู้ใช้ที่ไม่ได้อยู่ในท้องถิ่นไปยัง sudoers ได้อย่างไร

คำตอบ:


6

ฉันพบปัญหานี้และนี่คือทางออกของฉัน:

แก้ไข/etc/sudoers: ด้วยรายการต่อไปนี้

ตรวจสอบ aduser ก่อนโดยใช้รหัสคำสั่ง

#id <AD user>( #id domain\\aduser01 )

ผลลัพธ์ของฉัน:

SMB\aduser01@linux01:~/Desktop$ id smb\\aduser02
uid=914883676(SMB\aduser02) gid=914883073(SMB\domain^users) groups=914883073(SMB\domain^users),1544(BUILTIN\Administrators),1545(BUILTIN\Users),914883072(SMB\domain^admins)

getent passwdและgid NUMBERSไม่ทำงานสำหรับฉัน DOMAIN\\domain^usersทำงานได้สำหรับฉัน

%SMB\\domain^users ALL=(ALL) ALL

ในขณะที่เราทุกคนรู้ว่าผู้ใช้ AD แต่ละคนทำงาน

SMB\\<aduser01> ALL=(ALL) ALL

2

เรามีชื่อโดเมนแบบยาวที่มี. sual sufix

อีกครั้ง

%domainname\\group ALL=(ALL) ALL

หรือ

%domainname.local\\group ALL=(ALL) ALL

ทำงาน ...

แต่ถ้าฉันใช้ชื่อกลุ่มแบบนี้:

%Domain^Admins ALL=(ALL) ALL

มันได้ผล.


นี่คือทางออกที่ใช้งานได้ในที่สุด %Domain^Admins ALL=(ALL) ALL
mjp

2

ปัญหาเกี่ยวกับข้อเสนอแนะอื่น ๆ คือ

  • มันทำงานได้ก็ต่อเมื่อคุณสามารถเข้าถึง 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!


1
อาจยาว แต่เนื่องจากลิงก์ไม่ถูกต้องเป็นกฎที่มีส่วนประกอบสำคัญที่นี่พร้อมลิงก์สำหรับการอ้างอิง
TheWanderer

อันที่จริงฉันเพิ่มส่วนสำคัญเช่นแนวคิด ฉันสามารถเลือกส่วนอื่น ๆ ของเชอร์รี่ได้ แต่พวกมันไร้ประโยชน์โดยไม่เหลือและไม่เข้าใจภาพรวมดังนั้นฉันจึงไม่เห็นจุด มันจะทำอันตรายมากกว่าดี
bviktor

เป็นกฎของ AskUbuntu ที่ใครบางคนที่เข้ามาจะต้องสามารถดูคำตอบของคุณและแก้ไขปัญหาของพวกเขาได้โดยไม่ต้องไปที่ไซต์ภายนอก
TheWanderer

1
เพิ่มข้อมูลที่เกี่ยวข้องมากขึ้น
bviktor

1

ข้อมูลที่ดีที่สุดที่ฉันสามารถหาได้ในหัวข้อนี้อยู่ที่นี่:

http://www.mail-archive.com/likewise-open-discuss@lists.likewisesoftware.com/msg00572.html

มันเป็นพื้นขอให้คุณแก้ไข/etc/sudoersไฟล์ของคุณด้วยการกำหนดค่าที่ถูกต้องเพื่อให้คนในกลุ่มผู้ดูแลระบบของคุณใน AD สามารถเข้าถึงสิทธิ์ทั้งหมด

หากคุณต้องเลือกและ จำกัด ผู้ใช้คุณสามารถทำได้เช่นกัน แต่มันเตือนว่าคุณต้องตรวจสอบให้แน่ใจว่าได้ค้นหาชื่อของผู้ใช้ในระบบ linux โดยใช้getend passwdคำสั่งดังที่แสดง


ขอบคุณจริงๆไม่สามารถคิดออกว่าจะดู สำหรับเรกคอร์ด DOMIAN \\ ชื่อผู้ใช้งานสำหรับบุคคล
ไวแอตต์บาร์เน็ตต์

0

การใช้Centify directฉันได้เพิ่มผู้ใช้โดเมนลงในไฟล์ / etc / sudoers

(ผู้ใช้โดเมน) ALL = (ALL) ALL


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.