Merge branch 'nogetent-user' into 'master'

[__user] Fall back to /etc files if getent(1) is not available

See merge request ungleich-public/cdist!795
This commit is contained in:
poljakowski 2019-10-01 13:14:28 +02:00
commit b7426b30e7
3 changed files with 15 additions and 17 deletions

View file

@ -23,11 +23,9 @@
if [ -f "$__object/parameter/gid" ]; then if [ -f "$__object/parameter/gid" ]; then
gid=$(cat "$__object/parameter/gid") gid=$(cat "$__object/parameter/gid")
getent=$(command -v getent) if command -v getent >/dev/null; then
if [ X != X"${getent}" ]; then getent group "$gid" || true
"${getent}" group "$gid" || true
elif [ -f /etc/group ]; then elif [ -f /etc/group ]; then
grep -E "^(${gid}|([^:]+:){2}${gid}):" /etc/group || true grep -E "^(${gid}|([^:]+:){2}${gid}):" /etc/group || true
fi fi
fi fi

View file

@ -23,9 +23,8 @@
name=$__object_id name=$__object_id
getent=$(command -v getent) if command -v getent >/dev/null; then
if [ X != X"${getent}" ]; then getent passwd "$name" || true
"${getent}" passwd "$name" || true
elif [ -f /etc/passwd ]; then elif [ -f /etc/passwd ]; then
grep "^${name}:" /etc/passwd || true grep "^${name}:" /etc/passwd || true
fi fi

View file

@ -1,4 +1,4 @@
#!/bin/sh #!/bin/sh -e
# #
# 2011 Steven Armstrong (steven-cdist at armstrong.cc) # 2011 Steven Armstrong (steven-cdist at armstrong.cc)
# #
@ -22,18 +22,19 @@
# #
name=$__object_id name=$__object_id
os="$("$__explorer/os")"
# Default to using shadow passwords
database="shadow"
case "$os" in case $("$__explorer/os") in
"freebsd"|"netbsd"|"openbsd") database="passwd";; 'freebsd'|'netbsd'|'openbsd')
database='passwd'
;;
# Default to using shadow passwords
*)
database='shadow'
;;
esac esac
if command -v getent >/dev/null; then
getent=$(command -v getent) getent "$database" "$name" || true
if [ X != X"${getent}" ]; then
"${getent}" "$database" "$name" || true
elif [ -f /etc/shadow ]; then elif [ -f /etc/shadow ]; then
grep "^${name}:" /etc/shadow || true grep "^${name}:" /etc/shadow || true
fi fi