diff options
Diffstat (limited to 'hplip-check-userperms.patch')
-rw-r--r-- | hplip-check-userperms.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/hplip-check-userperms.patch b/hplip-check-userperms.patch new file mode 100644 index 0000000..9204c0b --- /dev/null +++ b/hplip-check-userperms.patch @@ -0,0 +1,33 @@ +diff --git a/base/password.py b/base/password.py +index bd68f2a..bff9f80 100644 +--- a/base/password.py ++++ b/base/password.py +@@ -157,6 +157,28 @@ class Password(object): + log.warn("%s distro is not found in AUTH_TYPES" % distro_name) + self.__authType = 'su' + ++ # check if caller is in wheel group - use 'su' if he isnt - ++ # or if the caller is root (just for showing 'root' username) ++ # in the prompt ++ import os ++ from grp import getgrnam ++ ++ user = os.getenv('USER') ++ ++ try: ++ members = getgrnam('wheel').gr_mem ++ except KeyError: ++ try: ++ members = getgrnam('sudo').gr_mem ++ except: ++ return ++ ++ if user in members: ++ self.__authType = 'sudo' ++ else: ++ self.__authType = 'su' ++ ++ + def __getPasswordDisplayString(self): + if self.__authType == "su": + return "Please enter the root/superuser password: " |