设置su和sudo为不需要密码

使用root用户,visudo命令(实际是编辑/etc/sudoers文件),用法和vim一样,末行模式:wq退出,如还有提示,使用大写”Q”保存退出,小写”e”继续编辑,小写”x”不保存退出。

一 设置sudo为不需要密码

默认5分钟后刚才输入的sodo密码过期,下次sudo需要重新输入密码,如果觉得在sudo的时候输入密码麻烦,

 

使普通用户使用sudo拥有root身份执行所有命令且无需密码,添加一行:

有时候我们只需要执行一条root权限的命令也要su到root,是不是有些不方便?这时可以用sudo代替。默认新建的用户不在sudo组,需要编辑/etc/sudoers文件将用户加入,该文件只能使用visudo命令,

xiaobai ALL=(ALL) NOPASSWD: ALL

1) 首先需要切换到root, su – (注意有-
,这和su是不同的,在用命令”su”的时候只是切换到root,但没有把root的环境变量传过去,还是当前用乎的环境变量,用”su
-“命令将环境变量也一起带过去,就象和root登录一样)

 

2) 然后 visudo 或者 vi /etc/sudoers, visudo
这个和vi的用法一样,由于可能会有人不太熟悉vi,所以简要说一下步骤

注意NOPASSWD:与ALL之间有一个空格!

移动光标,到一行root ALL=(ALL)  
ALL的下一行,按a,进入append模式,输入
your_user_name ALL=(ALL)   ALL

 

然后按Esc,再输入:w保存文件,再:q退出

注意:
有的时候你的将用户设了nopasswd,但是不起作用,原因是被后面的group的设置覆盖了,需要把group的设置也改为nopasswd:

这样就把自己加入了sudo组,可以使用sudo命令了。

 

3)
默认5分钟后刚才输入的sodo密码过期,下次sudo需要重新输入密码,如果觉得在sudo的时候输入密码麻烦,把刚才的输入换成如下内容即可:
your_user_name ALL=(ALL) NOPASSWD: ALL

%xiaobai ALL=(ALL) NOPASSWD: ALL

至于安全问题,对于一般个人用户,我觉得这样也可以的。

4)如果你想设置只有某些命令可以sudo的话,your_user_name   ALL= (root)
NOPASSWD: /sbin/mount, (root) NOPASSWD: /bin/umount, (root) NOPASSWD:
/mnt/mount, (root) NOPASSWD: /bin/rm, (root) NOPASSWD: /usr/bin/make,
(root) NOPASSWD: /bin/ln, (root) NOPASSWD: /bin/sh, (root) NOPASSWD:
/bin/mv, (root) NOPASSWD: /bin/chown, (root) NOPASSWD: /bin/chgrp,
(root) NOPASSWD: /bin/cp, (root) NOPASSWD: /bin/chmod

 

注意:
有的时候你的将用户设了nopasswd,但是不起作用,原因是被后面的group的设置覆盖了,需要把group的设置也改为nopasswd。

joe ALL=(ALL) NOPASSWD: ALL

%admin ALL=(ALL) NOPASSWD: ALL

 

参考: 

http://blog.163.com/love-love-l/blog/static/21078304201071232234518/

 

 

二 设置su为不需要密码

如果需要对某用户su命令也不需要输入密码,则需要修改下列的:

1)切换到root权限;
2)创建group为wheel,命令为groupadd wheel;
3)将用户加入wheel group中,命令为usermod -G wheel joe;
4)修改su的配置文件/etc/pam.d/su,增加下列项:
 auth       required   pam_wheel.so group=wheel
# Uncomment this if you want wheel members to be able to
# su without a password.
 auth       sufficient pam_wheel.so trust use_uid

至此你可以使用例如如下的命令且不需要输入密码:su joe -c command。

 

三 ubuntu 启用root

sudo -i

sudo passwd root

disable by below:

sudo passwd -dl root

 

参考:

 

http://cosminswiki.com/index.php/How\_to\_let\_users\_su\_without\_password

http://ag-up.com/?p=457

 

 

 

 

 

o(∩_∩)o…哈哈,完!