Samba สามารถรองรับ Windows-ACLs แบบเต็มได้หรือไม่


12

ฉันได้ตั้งค่าโฮสต์ Samba 3 ด้วยการรวม AD และระบบไฟล์ที่เปิดใช้งาน ACL ใช้ windows ไคลเอ็นต์ฉันสามารถตั้งค่าผู้ใช้และกลุ่มสิทธิ์

ถึงตอนนี้แซมบ้าเพิ่งแม็พกับสิทธิ์ rwx ของ POSIX ACL ซึ่งป้องกันไม่ให้ฉันใช้สิทธิ์ "แก้ไข" หรือ "ควบคุมทั้งหมด" บน Windows ฉันยังอ่านบางสิ่งเกี่ยวกับ xattrs และการสนับสนุน ZFS ACL

ใครสามารถให้คำแนะนำเกี่ยวกับวิธีที่ดีที่สุดในการก้าวข้าม POSIX ACLs เพื่อคล้ายกับ Windows ACE อย่างสมบูรณ์

คำตอบ:


7

นี่คือวิธีที่ฉันทำมาตลอดไม่แน่ใจว่าฉันจะอ่านตรงไหนดี

ในการที่จะมีตัวเลือก windows ACL ส่วนใหญ่ใน Samba ของคุณเชื่อมต่อกับโฆษณาคุณต้องเปิดใช้งาน POSIX ACLs และ XATTRS:

/dev/sda2       /samba              ext3    user_xattr,acl  1   2

และใน smb.conf คุณต้องเปิดใช้งาน idmapping, nt acls และการแมปแอตทริบิวต์ดังนี้:

idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
idmap backend = idmap_rid:<domain_netbios_name>=16777216-33554431

nt acl support = yes
inherit acls = yes

map acl inherit = yes 
map archive = no
map hidden = no
map read only = no
map system = no
store dos attributes = yes
inherit permissions = yes

สิ่งที่คุณต้องทำคือกำหนดผู้ใช้ผู้ดูแลระบบสำหรับการแชร์และด้วยการที่ผู้ใช้แก้ไขการตั้งค่าความปลอดภัยจาก Windows

[public]
path = /share/Public
public = yes
writable = yes
printable = no
admin users = "DOMAIN\user"

ปัญหาอาจเกี่ยวข้องกับ ACL ที่มีอยู่ (คุณ "ปฏิเสธ" รูทและโอนความเป็นเจ้าของให้กับผู้ใช้ Windows ของคุณ) และกลุ่มผู้ใช้ที่ไม่ได้แมป

ในการแม็พกลุ่มด้วยตนเองคุณต้องทำสิ่งนี้:

net groupmap delete ntgroup="Domain Admins"
net groupmap delete ntgroup="Domain Users"
net groupmap delete ntgroup="Domain Guests"

net groupmap add ntgroup="Domain Admins" rid=512 unixgroup=root
net groupmap add ntgroup="Domain Users" rid=513 unixgroup=users 
net groupmap add ntgroup="Domain Guests" rid=514 unixgroup=nobody 

สำหรับกลุ่มความปลอดภัยในตัว

และสำหรับทุกกลุ่มของคุณ:

groupadd mygroup
net groupmap delete ntgroup="mygroup"   
net groupmap add ntgroup="DOMAIN\mygroup" rid=1000  unixgroup=mygroup   type=d

2
ฉันจะเปลี่ยนadmin usersไปacl group controlและการตั้งค่าforce group = +DOMAIN\Admin-groupด้วยวิธีนี้คุณสามารถมีหลายรายที่มีสิทธิ์ผู้ดูแลระบบ
Hubert Kario

4

หากคุณไม่ต้องการ POSIX ACLs ในไฟล์เพื่อให้สามารถใช้งานได้จริง (ตัวอย่างเช่นเมื่อผู้ใช้ไม่สามารถลงชื่อเข้าใช้ตัวควบคุม Samba ของคุณได้) คุณสามารถมี NT ACLs แบบเต็มโดยใช้ vfs:

[โลก]
  แอตทริบิวต์ dos เก็บ = ใช่
[หุ้น]
  วัตถุ vfs = acl_xattr

1

คุณจะต้องทำสองสิ่ง

ก่อนอื่นระบบไฟล์ของคุณต้องรองรับ ACL นี่คือตัวอย่างของบรรทัดในไฟล์ fstab ที่เปิดใช้งาน ACL แน่นอนว่าคุณจะแตกต่างกัน:

/dev/mapper/VolGroup00-SambaVol /samba ext3 defaults,acl 0 0

เมื่อคุณทำเช่นนั้นแล้ว (และประกอบใหม่หรือบูตใหม่) คุณจะต้องเปิดใช้งาน nt acl ในไฟล์ smb.conf ของคุณ:

[share1]
   path = /samba/share1
   nt acl support = yes
   writeable = yes

เมื่อคุณทำทั้งสองอย่างและเริ่มแซมบ้าใหม่แล้วคุณควรมี ACL ที่เหมาะสม

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