Q. I am responsible for 5 Apache webservers. Recently we hired a new Linux sys admin. How do I give new admin only permission to start and restart Apache web server? How do I setup sudo for the same via sudoers file? I am using RedHat Enterprise Linux.
A. sudo allows a permitted user to execute a command as the superuser or another user, as specified in the sudoers file. The real and effective uid and gid are set to match those of the target user as specified in the passwd file and the group vector is initialized based on the group file.
sudo is great way to avoid security problems. sudo requires that users authenticate themselves with a password by default. sudo also logs user command is log file.
Use visudo command to setup job for a new sys admin called jerry, so that user can start or stop Apache webserver:
Append following line:
vivek hostname=/etc/init.d/httpd start, /etc/init.d/httpd stop,/etc/init.d/httpd restart, /sbin/services httpd restart
Save and close the file. Jerry has to type following command:
$ sudo /etc/init.d/httpd restart
When prompted jerry need to provide his password. More information is regarding sudo is available here.