Merge pull request #715 from tom-ee/improve__user-type

* explicitly check for `absent` to handle state-typos gracefully
* add messaging
* redirect stdout+stderr of `userdel`
If no mail-spoolfile exists for the user the error reporting was
visible in the cdist-run.
* add new messages to man.rst
* quote "remote user", ensuring `user` is handled as one parameter
* fix [SC1117] (explicitly excaping `\n`)
This commit is contained in:
Darko Poljak 2018-10-12 15:14:21 +02:00 committed by GitHub
commit 09bd321c5c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 3 deletions

View File

@ -3,6 +3,7 @@
# 2011 Steven Armstrong (steven-cdist at armstrong.cc) # 2011 Steven Armstrong (steven-cdist at armstrong.cc)
# 2011 Nico Schottelius (nico-cdist at schottelius.org) # 2011 Nico Schottelius (nico-cdist at schottelius.org)
# 2013 Daniel Heule (hda at sfs.biz) # 2013 Daniel Heule (hda at sfs.biz)
# 2018 Thomas Eckert (tom at it-eckert.de)
# #
# This file is part of cdist. # This file is part of cdist.
# #
@ -130,13 +131,17 @@ if [ "$state" = "present" ]; then
echo useradd "$@" "$name" echo useradd "$@" "$name"
fi fi
fi fi
else elif [ "$state" = "absent" ]; then
if grep -q "^${name}:" "$__object/explorer/passwd"; then if grep -q "^${name}:" "$__object/explorer/passwd"; then
#user exists, but state != present, so delete it #user exists, but state != present, so delete it
if [ -f "$__object/parameter/remove-home" ]; then if [ -f "$__object/parameter/remove-home" ]; then
echo userdel -r "${name}" printf "userdel -r '%s' >/dev/null 2>&1\\n" "${name}"
echo "userdel -r" >> "$__messages_out"
else else
echo userdel "${name}" printf "userdel '%s' >/dev/null 2>&1\\n" "${name}"
echo "userdel" >> "$__messages_out"
fi fi
fi fi
else
echo "Invalid state $state" >&2
fi fi

View File

@ -60,6 +60,11 @@ mod
add add
New user added New user added
userdel -r
If user was deleted with homedir
userdel
If user was deleted (keeping homedir)
EXAMPLES EXAMPLES
-------- --------