mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2024-12-25 08:21:05 -06:00
Put LDIF files to their original location in ipa-restore
This prevents SELinux failures during online data restore. https://fedorahosted.org/freeipa/ticket/4822 Reviewed-By: Martin Kosek <mkosek@redhat.com>
This commit is contained in:
parent
251c97cf96
commit
4994cd1d8d
@ -503,10 +503,17 @@ class Restore(admintool.AdminTool):
|
|||||||
cn = time.strftime('import_%Y_%m_%d_%H_%M_%S')
|
cn = time.strftime('import_%Y_%m_%d_%H_%M_%S')
|
||||||
dn = DN(('cn', cn), ('cn', 'import'), ('cn', 'tasks'), ('cn', 'config'))
|
dn = DN(('cn', cn), ('cn', 'import'), ('cn', 'tasks'), ('cn', 'config'))
|
||||||
|
|
||||||
|
ldifdir = paths.SLAPD_INSTANCE_LDIF_DIR_TEMPLATE % instance
|
||||||
ldifname = '%s-%s.ldif' % (instance, backend)
|
ldifname = '%s-%s.ldif' % (instance, backend)
|
||||||
|
ldiffile = os.path.join(ldifdir, ldifname)
|
||||||
srcldiffile = os.path.join(self.dir, ldifname)
|
srcldiffile = os.path.join(self.dir, ldifname)
|
||||||
ldiffile = '%s.noruv' % srcldiffile
|
|
||||||
|
|
||||||
|
if not os.path.exists(ldifdir):
|
||||||
|
pent = pwd.getpwnam(DS_USER)
|
||||||
|
os.mkdir(ldifdir, 0770)
|
||||||
|
os.chown(ldifdir, pent.pw_uid, pent.pw_gid)
|
||||||
|
|
||||||
|
ipautil.backup_file(ldiffile)
|
||||||
with open(ldiffile, 'wb') as out_file:
|
with open(ldiffile, 'wb') as out_file:
|
||||||
ldif_writer = ldif.LDIFWriter(out_file)
|
ldif_writer = ldif.LDIFWriter(out_file)
|
||||||
with open(srcldiffile, 'rb') as in_file:
|
with open(srcldiffile, 'rb') as in_file:
|
||||||
|
Loading…
Reference in New Issue
Block a user