Originally posted on 2021-02-10
This error message is truly odd in my humble opinion. I was working on a project today with someone and they saw this error message in their log file. Basically it appeared that root was not allowed to switch users and run a Python script as a different user.
Shouldn't root be able to change into any user? You'd think, but apparently not.
How do you fix it? Stack Overflow bails us out again. The gist is that you need to update /etc/sudoers
(with visudo
!) and add this line if it is missing:
root ALL=(ALL:ALL) ALL
For reference, a default Ubuntu /etc/sudoers
that has this in it looks like this:
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
ubuntu ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown