[type/__user] Fix shadow explorer for OpenBSD

This commit is contained in:
Dennis Camera 2020-01-28 09:15:56 +01:00
parent 45890cc7e4
commit 999e7b0134
1 changed files with 13 additions and 7 deletions

View File

@ -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