Projet

Général

Profil

Scénario #27913

Mis à jour par Emmanuel IHRY il y a environ 5 ans



h2. Pb constaté

La réplication des SYSVOL se fait par le biais de la commande RSYNC

Pour certains domaines AD en production, pour une raison pas encore expliquée, le mapping fini par diverger, ce qui provoque des anomalies.

La commande samba-tool ntacl sysvolcheck est en erreur :

<pre>
samba-tool ntacl sysvolcheck
ERROR(<class 'samba.provision.ProvisioningError'>): uncaught exception - ProvisioningError: DB ACL on GPO file /home/sysvol/ddt053.ad.mayenne.rie.gouv.fr/Policies/{D0E64B98-92E4-4E7B-A2B1-0639B7287A04}/Machine/Microsoft/Windows NT/SecEdit/GptTmpl.inf O:BAG:DUD:(A;;0x001f01ff;;;DA)(A;;0x001f01ff;;;EA)(A;;0x001f01ff;;;BA)(A;;0x001f01ff;;;SY)(A;;0x001200a9;;;AU)(A;;0x001200a9;;;ED) does not match expected value O:DAG:DAD:P(A;OICI;0x001f01ff;;;DA)(A;OICI;0x001f01ff;;;EA)(A;OICIIO;0x001f01ff;;;CO)(A;OICI;0x001f01ff;;;DA)(A;OICI;0x001f01ff;;;SY)(A;OICI;0x001200a9;;;AU)(A;OICI;0x001200a9;;;ED) from GPO object
File "/usr/lib/python2.7/dist-packages/samba/netcmd/__init__.py", line 176, in _run
return self.run(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/samba/netcmd/ntacl.py", line 270, in run
lp)
File "/usr/lib/python2.7/dist-packages/samba/provision/__init__.py", line 1723, in checksysvolacl
direct_db_access)
File "/usr/lib/python2.7/dist-packages/samba/provision/__init__.py", line 1674, in check_gpos_acl
domainsid, direct_db_access)
File "/usr/lib/python2.7/dist-packages/samba/provision/__init__.py", line 1631, in check_dir_acl
raise ProvisioningError('%s ACL on GPO file %s %s does not match expected value %s from GPO object' % (acl_type(direct_db_access), os.path.join(root, name), fsacl_sddl, acl))
</pre>

Sur le DC primaire les ACL sysvol sont correctes :

<pre>
getfacl sysvol
# file: sysvol
# owner: root
# group: BUILTIN/administrators
user::rwx
user:root:rwx
user:3000000:rwx
user:3000001:r-x
user:3000592:r-x
user:3000593:rwx
group::rwx
group:BUILTIN/administrators:rwx
group:NT\040AUTHORITY/authenticated\040users:r-x
group:BUILTIN/server\040operators:r-x
group:NT\040AUTHORITY/system:rwx
mask::rwx
other::---
default:user::rwx
default:user:root:rwx
default:user:3000000:rwx
default:user:3000001:r-x
default:user:3000592:r-x
default:user:3000593:rwx
default:group::---
default:group:BUILTIN/administrators:rwx
default:group:NT\040AUTHORITY/authenticated\040users:r-x
default:group:BUILTIN/server\040operators:r-x
default:group:NT\040AUTHORITY/system:rwx
default:mask::rwx
default:other::---

</pre>

Sur le DC additionnel on constate que le mapping n'est pas le même ; dans l'exemple suivant, c'est le groupe DD/sg_sg_:rwx qui est mappé à la place de group:NT\040AUTHORITY/system:rwx

<pre>

getfacl sysvol
# file: sysvol
# owner: root
# group: BUILTIN/administrators
user::rwx
user:root:rwx
user:3000000:rwx
user:3000001:r-x
user:3000592:r-x
user:3000593:rwx
group::rwx
group:BUILTIN/administrators:rwx
group:NT\040AUTHORITY/authenticated\040users:r-x
group:BUILTIN/server\040operators:r-x
group:DD/sg_sg_:rwx
mask::rwx
other::---
default:user::rwx
default:user:root:rwx
default:user:3000000:rwx
default:user:3000001:r-x
default:user:3000592:r-x
default:user:3000593:rwx
default:group::---
default:group:BUILTIN/administrators:rwx
default:group:NT\040AUTHORITY/authenticated\040users:r-x
default:group:BUILTIN/server\040operators:r-x
default:group:DD/sg_sg_:rwx
default:mask::rwx
default:other::---
</pre>

La commande "samba-tool ntacl sysvolreset" lancée sur le DC additionnel permet de remettre les bonnes ACL en place

<pre>

root@rw-dd-01:/home# samba-tool ntacl sysvolreset
root@rw-dd-01:/home# getfacl sysvol
# file: sysvol
# owner: root
# group: BUILTIN/administrators
user::rwx
user:root:rwx
user:3000000:rwx
user:3000001:r-x
user:3000028:r-x
user:3000877:rwx
group::rwx
group:BUILTIN/administrators:rwx
group:NT\040AUTHORITY/authenticated\040users:r-x
group:BUILTIN/server\040operators:r-x
group:NT\040AUTHORITY/system:rwx
mask::rwx
other::---
default:user::rwx
default:user:root:rwx
default:user:3000000:rwx
default:user:3000001:r-x
default:user:3000028:r-x
default:user:3000877:rwx
default:group::---
default:group:BUILTIN/administrators:rwx
default:group:NT\040AUTHORITY/authenticated\040users:r-x
default:group:BUILTIN/server\040operators:r-x
default:group:NT\040AUTHORITY/system:rwx
default:mask::rwx
default:other::---

</pre>

h2. H2. Proposition de 2 solutions qui pourraient être mise en oeuvree :


1) après chaque resync, lancer la commande "samba-tool ntacl sysvolreset"


2) à une fréquence à déterminer, recopier le fichier de mapping idmap.tdb du primaire vers le secondaire (la conf par défaut sur un SETH pour samba étant TDB, ce qui est correct pour un DC) , puis flusher le cache windbind ( NET CACH FLUSH ??)

Retour