[Freeipa-devel] [PATCH 0286] Sysrestore: copy files instead of moving them to avoid SELinux issues

Alexander Bokovoy abokovoy at redhat.com
Fri Jul 17 11:44:40 UTC 2015


On Fri, 17 Jul 2015, Martin Basti wrote:
>From b05f4a2e17ae00e5c20e5eb7bd046472f100e0ad Mon Sep 17 00:00:00 2001
>From: Martin Basti <mbasti at redhat.com>
>Date: Wed, 15 Jul 2015 16:20:59 +0200
>Subject: [PATCH] sysrestore: copy files instead of moving them to avoind
> SELinux issues
>
>Copying files restores SELinux context.
>
>https://fedorahosted.org/freeipa/ticket/4923
>---
> ipapython/sysrestore.py | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
>diff --git a/ipapython/sysrestore.py b/ipapython/sysrestore.py
>index c058ff7c04d4604ba96c2a4ece68d476b5b6491f..99d78b1b40c82a3350a7c5ba5ad9bf1f77ba887b 100644
>--- a/ipapython/sysrestore.py
>+++ b/ipapython/sysrestore.py
>@@ -186,7 +186,9 @@ class FileStore:
>         if new_path is not None:
>             path = new_path
> 
>-        shutil.move(backup_path, path)
>+        shutil.copy(backup_path, path)  # SELinux needs copy
>+        os.remove(backup_path)
>+
>         os.chown(path, int(uid), int(gid))
>         os.chmod(path, int(mode))
> 
>@@ -217,7 +219,9 @@ class FileStore:
>                 root_logger.debug("  -> Not restoring - '%s' doesn't exist", backup_path)
>                 continue
> 
>-            shutil.move(backup_path, path)
>+            shutil.copy(backup_path, path)  # SELinux needs copy
>+            os.remove(backup_path)
>+
>             os.chown(path, int(uid), int(gid))
>             os.chmod(path, int(mode))
> 
>-- 
>2.4.3
>

ACK.

-- 
/ Alexander Bokovoy




More information about the Freeipa-devel mailing list