1、在Centos 6上为用户设置好sudo后,切换到用户执行sudo时报如下错误:sudo: effective uid is not 0, is sudo installed setuid root?
2、经查,原来是/usr/bin/sudo命令没有S(setuid)权限,因此其他用户执行sudo命令时,报上面错误。可以这样理解setuid权限:当一个具有可执行权限的文件设置SetUID权限后,其他用户执行这个文件时将以这个文件的所有者的身份进行执行。
3、参考/etc/sudoers文件设置:如下图通过下图中简单的sudoers文件设置,可以了解到,已经将mqm 用户所拥有的/usr/bin/runmqsc文件的执行权限授权给了test用户
4、为/usr/bin/sudo命令设置setuid权限。# chmod u+s /usr/bin/sudo
5、切换用户执行sudo# sudo -l可以看到,上面的报错已经不再出现。