Samba può supportare Windows ACL completi?


12

Ho configurato un host Samba 3 con integrazione AD e un filesystem abilitato ACL. Utilizzando un client Windows posso impostare autorizzazioni per utenti e gruppi.

Fino ad ora, Samba si limita a mappare le autorizzazioni rwx di POSIX ACL, che mi impedisce di utilizzare le autorizzazioni "Modifica" o "Controllo completo" su Windows. Ho anche letto alcune cose su xattrs e il supporto ZFS ACL.

Qualcuno può dare un suggerimento su qual è il modo migliore per andare oltre gli ACL POSIX per assomigliare completamente agli ACE di Windows?

Risposte:


7

È così che l'ho sempre fatto, non sono sicuro di dove l'ho letto.

Per avere la maggior parte delle opzioni ACL di Windows sulle tue condivisioni Samba connesse ad AD, devi abilitare sia ACL POSIX che XATTRS:

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

E nel tuo smb.conf devi abilitare idmapping, nt acls e mappatura degli attributi in questo modo:

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

Quindi tutto ciò che devi fare è definire l'utente amministratore per la condivisione e con quell'utente modificare le impostazioni di sicurezza da Windows.

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

Gli unici problemi potrebbero essere correlati agli ACL esistenti ("rinneghi" il root e trasferisci la proprietà al tuo utente Windows) e ai gruppi di utenti non mappati.

Per mappare manualmente i gruppi devi fare qualcosa del genere:

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 

per gruppi di sicurezza integrati.

E poi per tutti i tuoi gruppi:

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

2
Vorrei cambiare admin usersper acl group controle insieme force group = +DOMAIN\Admin-group, in questo modo è possibile avere più con autorizzazioni di amministratore.
Hubert Kario,

4

Se non hai bisogno di ACL POSIX sui file per essere effettivamente utilizzabili (ad esempio, quando gli utenti non possono accedere al tuo controller Samba localmente), puoi avere ACL NT completi usando vfs:

[globale]
  memorizza attributi dos = yes
[Condividere]
  oggetti vfs = acl_xattr

1

Dovrai fare due cose.

Innanzitutto, il tuo filesystem deve supportare gli ACL. Ecco un esempio di una riga in un file fstab che abilita ACL, il tuo sarà ovviamente diverso:

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

Dopo averlo fatto (e reinstallato o riavviato) vorrai abilitare nt acl nel tuo file smb.conf:

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

Dopo aver eseguito entrambe le operazioni e aver riavviato samba, è necessario disporre di ACL corretti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.