diff options
author | David Kupka <dkupka@redhat.com> | 2015-08-19 08:10:03 +0200 |
---|---|---|
committer | Jan Cholasta <jcholast@redhat.com> | 2015-08-19 14:13:00 +0200 |
commit | db88985c0d4920191b840b5d04d133015293dbe0 (patch) | |
tree | d74b0541a17e3fade50019ff02362eaf6a14b373 /ipaplatform | |
parent | f160aa3d0a3f8714463c12dac1acc479d1e18a8d (diff) | |
download | freeipa-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.py | 15 | ||||
-rw-r--r-- | ipaplatform/redhat/authconfig.py | 6 | ||||
-rw-r--r-- | ipaplatform/redhat/tasks.py | 8 |
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]) |