HOW TO: disable sudoer from editing /etc/sudoers file

sudo

How can I prevent a sudoer from editing the /etc/sudoer file?

Best Answer

This depends on how much access you have given people who use sudo. If you have given people sufficient privilege to enable them to use sudo in an unrestricted manner then you pretty much have to trust them.

You can explicitly deny access to the visudo command

sudouser ALL=ALL, !/usr/sbin/visudo

then

$ sudo visudo
[sudo] password for sudouser:
Sorry, user sudouser is not allowed to execute '/usr/sbin/visudo' as root on host1.lan

however this doesn't stop people from, for example, running a shell and then running visudo

sudo -s
visudo

Bingo !

The only other solution is to reduce the scope of people's access via sudo. To do this you would have to analyse their privilege requirements and give them access via sudo to only those commands that they really need by use of command aliases etc.