3

I cannot seem to allow the user (In this case Ruby) to run sudo rm -rf, sudo rmdir, or sudo mkdir. I have tried it with other commands and it works fine allowing that user to run sudo apt-get update it just does not work allowing them to do those commands.

Here is my sudoers file if this helps:

#
# 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,pwfeedback
Defaults    mail_badpass
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
Ruby    ALL=/usr/bin/apt-get update,/usr/bin/rm,/usr/bin/rmdir,/usr/bin/mkdir

# 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
1
  • 3
    I'm pretty certain rm, rmdir, mkdir are in /bin, not /usr/bin.
    – muru
    May 21, 2015 at 13:26

2 Answers 2

4

You have the wrong path to rm, rmdir and mkdir commands. Change your line to this instead:

Ruby ALL=NOPASSWD: /usr/bin/apt-get update, /bin/rmdir, /bin/rm, /bin/mkdir
0
2

When editing the sudoers file you need to use visudo rather than editing the file manually to actually use the resulting configuration immediately.

Also, are you sure the username is really "Ruby" with a capital "r"? It's accepted best practice to use all lower case characters in *nix user names.

1
  • Yes I know it is not the best practice to use a capital letter for username but I just like it more.
    – Alex Lowe
    May 21, 2015 at 13:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .