原文地址:http://blog.youkuaiyun.com/u014132720/article/details/53008911
在ubuntu系统中,一般常用sudo命令来临时获得root权限执行一些特权命令。这很方便,但是也有一个问题: 普通用户可以通过sudo命令完成用户的增删和密码的更改,甚至是对root用户的密码更改!!!
如:
xxx@yyy$:sudo passwd root
Input the new UNIX pass word:
这样,就可以直接越过root直接修改root 的密码。这是非常危险的。
解决方法
在这里可以通过 /etc/sudoers 文件限制
$:sudo visudo
注意,这命令在最后修改sudoers文件中,也要加以限制,否则还可以通过这个命令恢复。
在这个文件中修改默认的以下两行:
%admin ALL=(ALL) ALL
%sudo ALL=(ALL) ALL
为以下:
%admin ALL=/usr/sbin/*,/sbin/*,/usr/bin/*,!/usr/bin/passwd,!/usr/sbin/visudo,!/usr/sbin/useradd,!/usr/sbin/userdel
%sudo ALL=/usr/sbin/*,/sbin/*,/usr/bin/*,!/usr/bin/passwd,!/usr/sbin/visudo,!/usr/sbin/useradd,!/usr/sbin/userdel
上述修改的目的就是,限制用户组admin,sudo禁止使用命令passwd,visudo,useradd,userdel等命令。