From c1e4ef39cb8d33dcb59a1b0a4984b16623d2cc01 Mon Sep 17 00:00:00 2001 From: abelbabel Date: Fri, 13 Apr 2018 22:22:17 +0200 Subject: [PATCH] fix of some problems with user modification with skeleton informations under FreeBSD (#34694) * respect skeleton argument in usermod mode for FreeBSD * use FreeBSD's own (more sophisticated) home creation function rather than ansible's create_home(), which does not handle skeleton files correctly for FreeBSD --- lib/ansible/modules/system/user.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/ansible/modules/system/user.py b/lib/ansible/modules/system/user.py index e9074d3142..1326b7f4b4 100644 --- a/lib/ansible/modules/system/user.py +++ b/lib/ansible/modules/system/user.py @@ -848,12 +848,16 @@ class FreeBsdUser(User): cmd.append('-c') cmd.append(self.comment) - if self.home is not None and info[5] != self.home: - if self.move_home: + if self.home is not None: + if (info[5] != self.home and self.move_home) or (not os.path.exists(self.home) and self.createhome): cmd.append('-m') cmd.append('-d') cmd.append(self.home) + if self.skeleton is not None: + cmd.append('-k') + cmd.append(self.skeleton) + if self.group is not None: if not self.group_exists(self.group): self.module.fail_json(msg="Group %s does not exist" % self.group)