Index: base/password.py --- base/password.py.orig +++ base/password.py @@ -272,7 +272,11 @@ class Password(object): def __get_password_utils(self): if self.__authType == "su": - AuthType, AuthCmd = 'su', 'su -c "%s"' + # in this context, `-c' refers to the BSD login class + if sys.platform.startswith('openbsd'): + AuthType, AuthCmd = 'su', 'su root -c "%s"' + else: + AuthType, AuthCmd = 'su', 'su -c "%s"' else: AuthType, AuthCmd = 'sudo', 'sudo %s' @@ -285,7 +289,11 @@ class Password(object): if self.__authType == "sudo": AuthType, AuthCmd = 'sudo', 'sudo %s' else: - AuthType, AuthCmd = 'su', 'su -c "%s"' + # in this context, `-c' refers to the BSD login class + if sys.platform.startswith('openbsd'): + AuthType, AuthCmd = 'su', 'su root -c "%s"' + else: + AuthType, AuthCmd = 'su', 'su -c "%s"' ''' if utils.which('kdesu'): AuthType, AuthCmd = 'kdesu', 'kdesu -- %s'