Quickly check if user can sudo

Here’s a snippet to quickly test if a user can run sudo commands.¬†For this to work you need to know which group is your system’s sudoers group. You can find that in the /etc/sudoers file. The relevant line looks like %admin ALL=(ALL:ALL) ALL where ‘admin’ is the name of the group.

groups $(logname) | grep admin && echo yay || echo noo

For example to check sudo permissions in order to decide if the username should get system stats on login, you can do this:


canSudo=$(groups $(logname) | grep admin)

# not a sudoer, exit quietly
if [ !$canSudo ]; then
  exit 0;

# hello admin
HOME=/home/$(logname) /usr/bin/pydf -h

Note the HOME= line. Scripts in update-motd.d run as the root user without useful environment variables. As some commands like pydf require the HOME var, you need to set it yourself. The command logname is doing all the magic to get the right username.

Related stuff

Leave a Reply

Your email address will not be published. Required fields are marked *