summaryrefslogtreecommitdiffstats
path: root/ipaplatform
diff options
context:
space:
mode:
authorDavid Kupka <dkupka@redhat.com>2015-08-19 08:10:03 +0200
committerJan Cholasta <jcholast@redhat.com>2015-08-19 14:13:00 +0200
commitdb88985c0d4920191b840b5d04d133015293dbe0 (patch)
treed74b0541a17e3fade50019ff02362eaf6a14b373 /ipaplatform
parentf160aa3d0a3f8714463c12dac1acc479d1e18a8d (diff)
downloadfreeipa-db88985c0d4920191b840b5d04d133015293dbe0.tar.gz
freeipa-db88985c0d4920191b840b5d04d133015293dbe0.tar.xz
freeipa-db88985c0d4920191b840b5d04d133015293dbe0.zip
Backup/resore authentication control configuration
https://fedorahosted.org/freeipa/ticket/5071 Reviewed-By: Martin Babinsky <mbabinsk@redhat.com>
Diffstat (limited to 'ipaplatform')
-rw-r--r--ipaplatform/base/tasks.py15
-rw-r--r--ipaplatform/redhat/authconfig.py6
-rw-r--r--ipaplatform/redhat/tasks.py8
3 files changed, 29 insertions, 0 deletions
diff --git a/ipaplatform/base/tasks.py b/ipaplatform/base/tasks.py
index 08fdb494a..65715145a 100644
--- a/ipaplatform/base/tasks.py
+++ b/ipaplatform/base/tasks.py
@@ -150,6 +150,21 @@ class BaseTaskNamespace(object):
return
+ def backup_auth_configuration(self, path):
+ """
+ Create backup of access control configuration.
+ :param path: store the backup here. This will be passed to
+ restore_auth_configuration as well.
+ """
+ return
+
+ def restore_auth_configuration(self, path):
+ """
+ Restore backup of access control configuration.
+ :param path: restore the backup from here.
+ """
+ return
+
def set_selinux_booleans(self, required_settings, backup_func=None):
"""Set the specified SELinux booleans
diff --git a/ipaplatform/redhat/authconfig.py b/ipaplatform/redhat/authconfig.py
index 901eb5163..edefee8b2 100644
--- a/ipaplatform/redhat/authconfig.py
+++ b/ipaplatform/redhat/authconfig.py
@@ -84,3 +84,9 @@ class RedHatAuthConfig(object):
args = self.build_args()
ipautil.run(["/usr/sbin/authconfig"] + args)
+
+ def backup(self, path):
+ ipautil.run(["/usr/sbin/authconfig", "--savebackup", path])
+
+ def restore(self, path):
+ ipautil.run(["/usr/sbin/authconfig", "--restorebackup", path])
diff --git a/ipaplatform/redhat/tasks.py b/ipaplatform/redhat/tasks.py
index 5f8832432..5ae2be16f 100644
--- a/ipaplatform/redhat/tasks.py
+++ b/ipaplatform/redhat/tasks.py
@@ -161,6 +161,14 @@ class RedHatTaskNamespace(BaseTaskNamespace):
auth_config.add_option("nostart")
auth_config.execute()
+ def backup_auth_configuration(self, path):
+ auth_config = RedHatAuthConfig()
+ auth_config.backup(path)
+
+ def restore_auth_configuration(self, path):
+ auth_config = RedHatAuthConfig()
+ auth_config.restore(path)
+
def reload_systemwide_ca_store(self):
try:
ipautil.run([paths.UPDATE_CA_TRUST])