A quick example on how to provide root permissions on specific commands to a specific group of users.
You can create command aliases, which can be very useful when formatting and controlling access to these.
For example:
Cmnd_Alias vi = /usr/bin/vim
This will match both /usr/bin/vim or just plain vim.
Assigning ROOT permissions to run this command alias to a specific user:
username ALL=(root) vi
And the same for a group:
%groupname ALL=(root) vi
In my example below, I provide access to use all the NGINX service commands on a redhat 6 system, to a new group called nginxadm.
Open up the sudoers file using visudo.
## NGINX USERS - should be part of nginxadm group
# Usage: nginx {start|stop|restart|condrestart|try-restart|force-reload|upgrade|reload|status|help|configtest}
Cmnd_Alias NG = /sbin/service nginx
Cmnd_Alias NGRES = /sbin/service nginx restart
Cmnd_Alias NGSTA = /sbin/service nginx start
Cmnd_Alias NGSTO = /sbin/service nginx stop
Cmnd_Alias NGSTS = /sbin/service nginx status
Cmnd_Alias NGCDR = /sbin/service nginx condrestart
Cmnd_Alias NGTRS = /sbin/service nginx try-restart
Cmnd_Alias NGFRL = /sbin/service nginx force-reload
Cmnd_Alias NGUPG = /sbin/service nginx upgrade
Cmnd_Alias NGRLD = /sbin/service nginx reload
Cmnd_Alias NGHLP = /sbin/service nginx help
Cmnd_Alias NGCFG = /sbin/service nginx configtest
%nginxadm ALL=(root) NG,NGRES,NGSTA,NGSTO,NGSTS,NGCDR,NGTRS,NGFRL,NGUPG,NGRLD,NGHLP,NGCFG
Thanks to FACLs in Linux, we can also give granular permissions to the NGINX configuration files.
You can create command aliases, which can be very useful when formatting and controlling access to these.
For example:
Cmnd_Alias vi = /usr/bin/vim
This will match both /usr/bin/vim or just plain vim.
Assigning ROOT permissions to run this command alias to a specific user:
username ALL=(root) vi
And the same for a group:
%groupname ALL=(root) vi
In my example below, I provide access to use all the NGINX service commands on a redhat 6 system, to a new group called nginxadm.
Open up the sudoers file using visudo.
## NGINX USERS - should be part of nginxadm group
# Usage: nginx {start|stop|restart|condrestart|try-restart|force-reload|upgrade|reload|status|help|configtest}
Cmnd_Alias NG = /sbin/service nginx
Cmnd_Alias NGRES = /sbin/service nginx restart
Cmnd_Alias NGSTA = /sbin/service nginx start
Cmnd_Alias NGSTO = /sbin/service nginx stop
Cmnd_Alias NGSTS = /sbin/service nginx status
Cmnd_Alias NGCDR = /sbin/service nginx condrestart
Cmnd_Alias NGTRS = /sbin/service nginx try-restart
Cmnd_Alias NGFRL = /sbin/service nginx force-reload
Cmnd_Alias NGUPG = /sbin/service nginx upgrade
Cmnd_Alias NGRLD = /sbin/service nginx reload
Cmnd_Alias NGHLP = /sbin/service nginx help
Cmnd_Alias NGCFG = /sbin/service nginx configtest
%nginxadm ALL=(root) NG,NGRES,NGSTA,NGSTO,NGSTS,NGCDR,NGTRS,NGFRL,NGUPG,NGRLD,NGHLP,NGCFG
Thanks to FACLs in Linux, we can also give granular permissions to the NGINX configuration files.
No comments:
Post a Comment