Tâche #24589
Scénario #24588: Stocker les patch samba sur un dépot GIT
Stocker sur un dépot GIT le patch samba permettant le demote de RODC.
0%
Description
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)
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 (and any children) Removing RODC KDC account: CN=krbtgt_30199,CN=Users,DC=ac-test,DC=eole Removing computer account: CN=PDC-AD3,OU=Domain Controllers,DC=ac-test,DC=eole (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 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' 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
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 :
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]
Historique
#1 Mis à jour par Emmanuel IHRY il y a plus de 5 ans
- Description mis à jour (diff)
#2 Mis à jour par Emmanuel IHRY il y a plus de 5 ans
- Description mis à jour (diff)
#3 Mis à jour par Benjamin Bohard il y a plus de 5 ans
Quelle est la pérennité de ce patch ?
#4 Mis à jour par Emmanuel IHRY il y a plus de 5 ans
- Sujet changé de Mise en place d'un patch samba pour permettre le demote de RODC à Stocker sur un dépot GIT le patch samba permettant le demote de RODC.
- Description mis à jour (diff)
#5 Mis à jour par Emmanuel IHRY il y a plus de 5 ans
- Assigné à mis à Benjamin Bohard
l'idée est de stocker ce patch en tant que source afin de l'intégrer dans le processus de génération de paquet samba.
Il ne s'agit pas pour le moment de générer de nouveaux paquets
#6 Mis à jour par Emmanuel IHRY il y a plus de 5 ans
Benjamin Bohard a écrit :
Quelle est la pérennité de ce patch ?
Ce patch de contournement doit être intégré à tous les futurs paquets jusqu'à ce que le bug soit corrigé par l’équipe samba.
#7 Mis à jour par Emmanuel IHRY il y a plus de 5 ans
- Statut changé de Nouveau à Ne sera pas résolu