การแมปกลุ่ม NT กับ UNIX ใน Samba 4


0

ฉันต้องการแมปกลุ่ม NT Domain Usersกับกลุ่ม UNIX ที่แตกต่างจากusersSamba 4.7.6 Active Directory Domain Controller ของฉัน แต่เมื่อฉันลองทำสิ่งนี้จะล้มเหลวดังนี้

> net groupmap modify ntgroup='Domain Users' unixgroup='share' type=domain
Could not update group database
[255]

ฉันอ่านว่าตอนนี้คุณสามารถทำได้ด้วย winbind ดังนั้นฉันลองแล้ว แต่ฉันได้รับข้อผิดพลาดต่อไปนี้

> wbinfo --set-gid-mapping=1000,S-1-5-21-...-513
failed to call wbcSetGidMapping: WBC_ERR_NOT_IMPLEMENTED
Could not create or modify gid to sid mapping
[1]

วิธีที่เหมาะสมในการจัดการการแมปกลุ่ม NT กับ UNIX ใน Samba 4 คืออะไร?

แก้ไข:ในรายชื่อผู้รับจดหมาย Samba ฉันพบคนที่มีปัญหาคล้ายกันดังนั้นฉันอาจแก้ไขได้โดยแก้ไขเซิร์ฟเวอร์ LDAP ภายในโดยตรงหรือไม่ สิ่งที่ต้องการ:

ldbadd /var/lib/samba/private/sam.ldb.d/metadata.tdb ...

น่าเสียดายที่ฉันไม่มีประสบการณ์เกี่ยวกับ LDAP ดังนั้นฉันจึงไม่ทราบวิธีจัดหาไฟล์ LDIF ที่ถูกต้องสำหรับกรณีการใช้งานของฉัน

EDIT2:ขอบคุณโพสต์บล็อกเกี่ยวกับการจัดการผู้ใช้และกลุ่มของ Samba 4 ใน LDAPฉันจัดการแก้ไขกลุ่ม UNIX ที่กลุ่ม NT จับคู่กับ:

> ldbedit -e nano -H /var/lib/samba/private/idmap.ldb '(objectSid=S-1-5-21-1580746459-3543417057-3597883204-513)'

> wbinfo --group-info='Domain Users'
AD.EXAMPLE\domain users:x:100:

> net groupmap list ntgroup='Domain Users'
Domain Users (S-1-5-21-1580746459-3543417057-3597883204-513) -> share

ดังนั้นขณะนี้กลุ่มที่ถูกรายงานกำลังถูกรายงานnet groupmapแต่wbinfoยังคงรายงานค่าเดิมดังนั้นจึงอาจไม่ได้รับข้อมูลจากฐานข้อมูลนั้น ฉันไม่แน่ใจว่าการwbinfoรายงานกลุ่มที่เหมาะสมมีความสำคัญต่อกรณีการใช้งานของฉันอย่างไร แต่ฉันจะดูว่าฉันสามารถเปลี่ยนแปลงได้หรือไม่ก่อนที่จะใช้สิ่งนี้เป็นคำตอบและทำเครื่องหมายการแก้ไข

คำตอบ:


0

จากสิ่งที่ฉันสามารถรวมเข้าด้วยกันดูเหมือนว่าไม่มีเครื่องมือใน Samba 4 ที่อนุญาตให้คุณกำหนดค่านี้อย่างเหมาะสมนอกเหนือจากการแก้ไขเซิร์ฟเวอร์ LDAP ในตัวโดยตรง

netเครื่องมือที่ไม่ได้ดูเหมือนจะทำงานได้ดีกับเซิร์ฟเวอร์ LDAP ในตัวการดำเนินงานเพียงบางส่วนจะประสบความสำเร็จเช่นรายการแมปกลุ่มและการอนุญาตให้การทำงานด้านสิทธิ แต่รายชื่อสมาชิกของกลุ่มหรือการปรับเปลี่ยนการแมปกลุ่มไม่ทำงาน (เท่าที่เห็นใน คำถามของฉัน).

ในการแก้ไขการแมปฉันรันคำสั่งต่อไปนี้ในฐานะรูท ก่อนอื่นเราต้องดึง SID ของDomain Usersเพราะจะไม่ซ้ำกันสำหรับการจัดเตรียมเซิร์ฟเวอร์ Samba แต่ละครั้ง

root> net groupmap list ntgroup='Domain Users'
Domain Users (S-1-5-21-1580746459-3543417057-3597883204-513) -> users

จากนั้นเราอัปเดตระเบียนของเซิร์ฟเวอร์ LDAP ในตัวสำหรับ SID โดยอัปเดตxidNumber: 100ด้วย UNIX GID ที่ต้องการ:

root> ldbedit -e nano -H /var/lib/samba/private/idmap.ldb '(objectSid=S-1-5-21-1580746459-3543417057-3597883204-513)'
# 0 adds  1 modifies  0 deletes

สมมติว่าคุณเปลี่ยนเป็น GID 250ของกลุ่ม UNIX ที่เรียกshareแล้วการโทรnet groupmapจะส่งผลให้กลุ่มรายงานว่ากลับมาเป็นshare:

root> net groupmap list ntgroup='Domain Users'
Domain Users (S-1-5-21-1580746459-3543417057-3597883204-513) -> share

อย่างไรก็ตามwbinfoการwinbinddจะยังคงรายงานเก่า GID:

root> wbinfo --group-info='Domain Users'
AD.EXAMPLE\domain users:x:100:

Domain Usersดังนั้นเราจึงมีเพื่อทำให้รายการแคชสำหรับ หลังจากการทดลองบางอย่างฉันสามารถทำได้โดยขอให้ค้นหา GID ที่อัปเดตแล้ว:

root> wbinfo --gid-info 250
AD.EXAMPLE\domain users:x:250:

ซึ่งถูกรายงานกลับอย่างถูกต้องโดย--group-info:

root> wbinfo --group-info='Domain Users'
AD.EXAMPLE\domain users:x:250:
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.