Tak zawsze to robiłem, nie do końca pewny, gdzie to czytam.
Aby mieć większość opcji Windows ACL na twoich udziałach Samba podłączonych do AD, musisz włączyć zarówno POSLAC ACL, jak i XATTRS:
/dev/sda2 /samba ext3 user_xattr,acl 1 2
A w pliku smb.conf musisz włączyć idmapping, nt acls i mapowanie atrybutów w następujący sposób:
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
Następnie wszystko, co musisz zrobić, to zdefiniować użytkownika administratora udziału, a wraz z tym użytkownikiem edytować ustawienia zabezpieczeń z systemu Windows.
[public]
path = /share/Public
public = yes
writable = yes
printable = no
admin users = "DOMAIN\user"
Jedyne problemy mogą być związane z istniejącymi listami ACL („odrzucasz” uprawnienia roota i przenosisz własność na użytkownika Windows) i niezamapowanymi grupami użytkowników.
Aby ręcznie mapować grupy, musisz zrobić coś takiego:
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
dla wbudowanych grup bezpieczeństwa.
A potem dla wszystkich twoich grup:
groupadd mygroup
net groupmap delete ntgroup="mygroup"
net groupmap add ntgroup="DOMAIN\mygroup" rid=1000 unixgroup=mygroup type=d
admin users
sięacl group control
i zestawforce group = +DOMAIN\Admin-group
, w ten sposób można mieć wiele z uprawnieniami administratora.