[stable-2.15] Check if skeleton is /dev/null while creating home folder (#75948) (#82103)

* Check if skeleton is /dev/null while creating home folder

* Add test for linux



(cherry picked from commit 25b3d3a)

Co-authored-by: Holger Dörner <42909210+HolgerDoerner@users.noreply.github.com>
pull/82294/head
Matt Martz 2 years ago committed by GitHub
parent a62ba401be
commit 7c31e6b1c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,3 @@
bugfixes:
- modules/user.py - Add check for valid directory when creating new user homedir (allows /dev/null as skeleton) (https://github.com/ansible/ansible/issues/75063)

@ -1273,7 +1273,7 @@ class User(object):
else:
skeleton = '/etc/skel'
if os.path.exists(skeleton):
if os.path.exists(skeleton) and skeleton != os.devnull:
try:
shutil.copytree(skeleton, path, symlinks=True)
except OSError as e:

@ -134,3 +134,21 @@
name: randomuser
state: absent
remove: yes
- name: Create user home directory with /dev/null as skeleton, https://github.com/ansible/ansible/issues/75063
# create_homedir is mostly used by linux, rest of OSs take care of it themselves via -k option (which fails this task)
when: ansible_system == 'Linux'
block:
- name: "Create user home directory with /dev/null as skeleton"
user:
name: withskeleton
state: present
skeleton: "/dev/null"
createhome: yes
register: create_user_with_skeleton_dev_null
always:
- name: "Remove test user"
user:
name: withskeleton
state: absent
remove: yes

Loading…
Cancel
Save