summaryrefslogtreecommitdiffstats
path: root/ipaserver/install/dsinstance.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipaserver/install/dsinstance.py')
-rw-r--r--ipaserver/install/dsinstance.py15
1 files changed, 3 insertions, 12 deletions
diff --git a/ipaserver/install/dsinstance.py b/ipaserver/install/dsinstance.py
index c66f2a7f..5b5b24ca 100644
--- a/ipaserver/install/dsinstance.py
+++ b/ipaserver/install/dsinstance.py
@@ -288,12 +288,10 @@ class DsInstance(service.Service):
)
def __create_ds_user(self):
- user_exists = True
try:
pwd.getpwnam(DS_USER)
root_logger.debug("ds user %s exists" % DS_USER)
except KeyError:
- user_exists = False
root_logger.debug("adding ds user %s" % DS_USER)
args = ["/usr/sbin/useradd", "-g", DS_GROUP,
"-c", "DS System User",
@@ -306,8 +304,6 @@ class DsInstance(service.Service):
except ipautil.CalledProcessError, e:
root_logger.critical("failed to add user %s" % e)
- self.backup_state("user_exists", user_exists)
-
def __create_instance(self):
self.backup_state("running", is_ds_running())
self.backup_state("serverid", self.serverid)
@@ -624,16 +620,11 @@ class DsInstance(service.Service):
dsdb.untrack_server_cert("Server-Cert")
erase_ds_instance_data(serverid)
+ # At one time we removed this user on uninstall. That can potentially
+ # orphan files, or worse, if another useradd runs in the intermim,
+ # cause files to have a new owner.
user_exists = self.restore_state("user_exists")
- if user_exists == False:
- pent = pwd.getpwnam(DS_USER)
- installutils.remove_file("/var/tmp/ldap_%d" % pent.pw_uid)
- try:
- ipautil.run(["/usr/sbin/userdel", DS_USER])
- except ipautil.CalledProcessError, e:
- root_logger.critical("failed to delete user %s" % e)
-
# Make sure some upgrade-related state is removed. This could cause
# re-installation problems.
self.restore_state('nsslapd-port')