很多人,都是修改文件 /etc/sudoers 权限为740

homer@homer-pc:~$ sudo chmod 740 /etc/sudoers
homer@homer-pc:~$ ll /etc/sudoers
-
rwxr----- 1 root root 745  2月 11  2014 /etc/sudoers*

然后,再加上一句 

ALL=NOPASSWD:ALL 

或者加一句 

yourname ALL=(ALL) NOPASSWD: ALL 

然后,修改文件 /etc/sudoers 权限改回440 

先说第一种,这样做,全部的用户都有了sudo权限,而且不要密码的,安全性非常差。

两种共有的缺陷是,这样做没有检测语法,如果不下心手抖一下打错了,那你就再也没有sudo的权限了,非常危险,不推荐使用。 

 

可能很多人还不知道有visudo这个东西,这种方法非常安全,执行 

$sudo visudo 

找到 

%admin ALL=(ALL) ALL 

注释之,在它下面加上 

%admin ALL=(ALL) NOPASSWD:ALL 

意思是属于admin组的用户可以不需要输入密码执行sudo 

如果是 

admin ALL=(ALL) NOPASSWD: ALL 

也就是去掉了百分号,意思就是admin这个用户可以执行sudo 

在Ubuntu系统上实测了上述方法,输入 sudo -s 仍然需要输入密码

于是,自己改进修改 /etc/sudoers 文件里的 sudo帐户名,找到并注释掉:

%sudo    ALL=(ALL:ALL) ALL

在它的下面,添加如下一行

%sudo    ALL=(ALL:ALL) NOPASSWD:ALL

注释修改后的结果如下:

linux-sudo-password-01

修改保存后,重启服务器:

sudo  root

服务器重启后,打开终端,验证 sudo -s 确实不再需要输入密码了,效果图如下:

linux-sudo-password-02

这样做的好处是避免了输入错误,如果出错,退出之后会提示你出错,按e重新编辑,不会出现进不了sudo的情况,安全了很多。

 

 

参考推荐:

sudo 免密码

sudo 时免输密码

Linux/Ubuntu sudo不用输入密码的方法

Linux ssh 切换登录用户自动转到root用户

Linux 修改SSH 默认端口 22,防止被破解密码

Linux 修改默认端口、增加普通用户、使用密钥等安全登录SSH