mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
acct-user.eclass: drop elockuser and eunlockuser
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
This commit is contained in:
@@ -210,112 +210,6 @@ eislocked() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
# @FUNCTION: elockuser
|
|
||||||
# @USAGE: <user>
|
|
||||||
# @INTERNAL
|
|
||||||
# @DESCRIPTION:
|
|
||||||
# Lock the specified user account, using the available platform-specific
|
|
||||||
# functions. This should prevent any login to the account.
|
|
||||||
#
|
|
||||||
# Established lock can be reverted using eunlockuser.
|
|
||||||
#
|
|
||||||
# This function returns 0 if locking succeeded, 2 if it is not supported
|
|
||||||
# by the platform code or dies if it fails.
|
|
||||||
elockuser() {
|
|
||||||
[[ $# -eq 1 ]] || die "usage: ${FUNCNAME} <user>"
|
|
||||||
|
|
||||||
if [[ ${EUID} -ne 0 ]]; then
|
|
||||||
einfo "Insufficient privileges to execute ${FUNCNAME[0]}"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
eislocked "$1"
|
|
||||||
[[ $? -eq 0 ]] && return 0
|
|
||||||
|
|
||||||
local opts
|
|
||||||
[[ -n ${ROOT} ]] && opts=( --prefix "${ROOT}" )
|
|
||||||
|
|
||||||
case ${CHOST} in
|
|
||||||
*-freebsd*|*-dragonfly*)
|
|
||||||
pw lock "${opts[@]}" "$1" || die "Locking account $1 failed"
|
|
||||||
pw user mod "${opts[@]}" "$1" -e 1 || die "Expiring account $1 failed"
|
|
||||||
;;
|
|
||||||
|
|
||||||
*-netbsd*)
|
|
||||||
if [[ -n "${ROOT}" ]]; then
|
|
||||||
ewarn "NetBSD's usermod does not support --prefix <dir> option."
|
|
||||||
ewarn "Please use: usermod ${opts[@]} -e 1 -C yes \"$1\" in a chroot"
|
|
||||||
else
|
|
||||||
usermod "${opts[@]}" -e 1 -C yes "$1" || die "Locking account $1 failed"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
*-openbsd*)
|
|
||||||
return 2
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
usermod "${opts[@]}" -e 1 -L "$1" || die "Locking account $1 failed"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
elog "User account $1 locked"
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
# @FUNCTION: eunlockuser
|
|
||||||
# @USAGE: <user>
|
|
||||||
# @INTERNAL
|
|
||||||
# @DESCRIPTION:
|
|
||||||
# Unlock the specified user account, using the available platform-
|
|
||||||
# specific functions.
|
|
||||||
#
|
|
||||||
# This function returns 0 if unlocking succeeded, 1 if it is not
|
|
||||||
# supported by the platform code or dies if it fails.
|
|
||||||
eunlockuser() {
|
|
||||||
[[ $# -eq 1 ]] || die "usage: ${FUNCNAME} <user>"
|
|
||||||
|
|
||||||
if [[ ${EUID} -ne 0 ]]; then
|
|
||||||
einfo "Insufficient privileges to execute ${FUNCNAME[0]}"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
eislocked "$1"
|
|
||||||
[[ $? -eq 1 ]] && return 0
|
|
||||||
|
|
||||||
local opts
|
|
||||||
[[ -n ${ROOT} ]] && opts=( --prefix "${ROOT}" )
|
|
||||||
|
|
||||||
case ${CHOST} in
|
|
||||||
*-freebsd*|*-dragonfly*)
|
|
||||||
pw user mod "${opts[@]}" "$1" -e 0 || die "Unexpiring account $1 failed"
|
|
||||||
pw unlock "${opts[@]}" "$1" || die "Unlocking account $1 failed"
|
|
||||||
;;
|
|
||||||
|
|
||||||
*-netbsd*)
|
|
||||||
if [[ -n "${ROOT}" ]]; then
|
|
||||||
ewarn "NetBSD's usermod does not support --prefix <dir> option."
|
|
||||||
ewarn "Please use: \"usermod ${opts[@]} -e 0 -C no $1\" in a chroot"
|
|
||||||
else
|
|
||||||
usermod "${opts[@]}" -e 0 -C no "$1" || die "Unlocking account $1 failed"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
*-openbsd*)
|
|
||||||
return 1
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
# silence warning if account does not have a password
|
|
||||||
usermod "${opts[@]}" -e "" -U "$1" 2>/dev/null || die "Unlocking account $1 failed"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
ewarn "User account $1 unlocked after reinstating."
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# << Phase functions >>
|
# << Phase functions >>
|
||||||
EXPORT_FUNCTIONS pkg_pretend src_install pkg_preinst pkg_postinst \
|
EXPORT_FUNCTIONS pkg_pretend src_install pkg_preinst pkg_postinst \
|
||||||
pkg_prerm
|
pkg_prerm
|
||||||
|
|||||||
Reference in New Issue
Block a user