forked from ungleich-public/cdist
[type/__user] Fix shadow explorer for OpenBSD
This commit is contained in:
parent
45890cc7e4
commit
999e7b0134
1 changed files with 13 additions and 7 deletions
|
@ -23,18 +23,24 @@
|
|||
|
||||
name=$__object_id
|
||||
|
||||
case $("$__explorer/os") in
|
||||
'freebsd'|'netbsd'|'openbsd')
|
||||
case $("${__explorer}/os") in
|
||||
freebsd|netbsd)
|
||||
database='passwd'
|
||||
;;
|
||||
# Default to using shadow passwords
|
||||
openbsd)
|
||||
database='master.passwd'
|
||||
;;
|
||||
*)
|
||||
# Default to using shadow passwords
|
||||
database='shadow'
|
||||
;;
|
||||
esac
|
||||
|
||||
if command -v getent >/dev/null; then
|
||||
getent "$database" "$name" || true
|
||||
elif [ -f /etc/shadow ]; then
|
||||
grep "^${name}:" /etc/shadow || true
|
||||
if command -v getent >/dev/null 2>&1
|
||||
then
|
||||
getent "${database}" "${name}" 2>/dev/null && exit || true # fallback to file
|
||||
fi
|
||||
if test -n "${database}" -a -f "/etc/${database}"
|
||||
then
|
||||
grep -e "^${name}:" "/etc/${database}" && exit || true # ignore failure
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue