From: Benda Xu <[email protected]>

  Gentoo Prefix runs with a normal user and cannot manage any other user.
  Exit gracefully with a message.

Closes: https://bugs.gentoo.org/709570
Signed-off-by: Benda Xu <[email protected]>
---
 eclass/acct-user.eclass | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/eclass/acct-user.eclass b/eclass/acct-user.eclass
index be6b3dd3e600..e3ec3966035d 100644
--- a/eclass/acct-user.eclass
+++ b/eclass/acct-user.eclass
@@ -360,6 +360,11 @@ acct-user_pkg_preinst() {
 acct-user_pkg_postinst() {
        debug-print-function ${FUNCNAME} "${@}"
 
+       if [[ ${EUID} != 0 ]] ; then
+               einfo "Insufficient privileges to execute ${FUNCNAME[0]}"
+               return 0
+       fi
+
        # NB: eset* functions check current value
        esethome "${ACCT_USER_NAME}" "${ACCT_USER_HOME}"
        esetshell "${ACCT_USER_NAME}" "${ACCT_USER_SHELL}"
@@ -376,6 +381,11 @@ acct-user_pkg_postinst() {
 acct-user_pkg_prerm() {
        debug-print-function ${FUNCNAME} "${@}"
 
+       if [[ ${EUID} != 0 ]] ; then
+               einfo "Insufficient privileges to execute ${FUNCNAME[0]}"
+               return 0
+       fi
+
        if [[ -z ${REPLACED_BY_VERSION} ]]; then
                if [[ -z $(egetent passwd "${ACCT_USER_NAME}") ]]; then
                        ewarn "User account not found: ${ACCT_USER_NAME}"
-- 
2.25.0


Reply via email to