Projet

Général

Profil

Tâche #24589

Mis à jour par Emmanuel IHRY il y a plus de 5 ans


La commande samba-tool domain demote --remove-other-dead-server=pdc-ad3 permet de supprimer de l'AD la référence à un contrôleur de domaine qui a pu être supprimé par exemple.


Cette procédure ne va pas au bout pour le cas d'un RODC *ET* dans la mesure ou aucun hash n'a encore été synchronisé sur le RODC (via la commande *samba-tool rodc preload compte.user --server=pdc-ad1*)

<pre>
root@pdc-ad1:~# samba-tool domain demote --remove-other-dead-server=pdc-ad3
Removing nTDSDSA: CN=NTDS Settings,CN=PDC-AD3,CN=Servers,CN=Site3,CN=Sites,CN=Configuration,DC=ac-test,DC=eole,DC=e2,DC=rie,DC=gouv,DC=fr (and any children)
Removing RODC KDC account: CN=krbtgt_30199,CN=Users,DC=ac-test,DC=eole,DC=e2,DC=rie,DC=gouv,DC=fr
Removing computer account: CN=PDC-AD3,OU=Domain Controllers,DC=ac-test,DC=eole,DC=e2,DC=rie,DC=gouv,DC=fr (and any child objects)
ERROR(ldb): uncaught exception - replmd_delete: Failed to modify object CN=PDC-AD3,OU=Domain Controllers,DC=ac-test,DC=eole,DC=e2,DC=rie,DC=gouv,DC=fr in delete - attribute 'msDS-RevealedUsers': no such attribute for delete on 'CN=PDC-AD3\0ADEL:22776eb6-34db-460b-8936-3233076af6ae,CN=Deleted Objects,DC=ac-test,DC=eole,DC=e2,DC=rie,DC=gouv,DC=fr'
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/domain.py", line 730, in run
remove_dc.remove_dc(samdb, logger, remove_other_dead_server)
File "/usr/lib/python2.7/dist-packages/samba/remove_dc.py", line 423, in remove_dc
remove_dns_account=True)
File "/usr/lib/python2.7/dist-packages/samba/remove_dc.py", line 351, in offline_remove_ntds_dc
remove_dns_account=remove_dns_account)
File "/usr/lib/python2.7/dist-packages/samba/remove_dc.py", line 251, in offline_remove_server
samdb.delete(computer_dn, ["tree_delete:0"])
A transaction is still active in ldb context [0xf59000] on tdb:///var/lib/samba/private/sam.ldb
</pre>

Le bug a été signalé à Samba https://bugzilla.samba.org/show_bug.cgi?id=13501

Il faudrait prévoir dans la construction des futurs paquets samba d'intégrer le patch suivant (lié à la demande Bug 13501) qui contourne le problème :

soit :

<pre>
diff --git python/samba/remove_dc.py python/samba/remove_dc.py
index d1904610e91..9062ebb2d23 100644
--- python/samba/remove_dc.py
+++ python/samba/remove_dc.py
@@ -263,7 +263,10 @@ def offline_remove_server(samdb, logger,
if remove_computer_obj:
# Delete the computer tree
logger.info("Removing computer account: %s (and any child objects)" % computer_dn)
- samdb.delete(computer_dn, ["tree_delete:0"])
+ try:
+ samdb.delete(computer_dn, ["tree_delete:0"])
+ except:
+ pass

if "dnsHostName" in msgs[0]:
dnsHostName = msgs[0]["dnsHostName"][0]
</pre>

Retour