您的位置:首页 > 运维架构 > Linux

设置su和sudo为不需要密码

2017-07-30 13:33 417 查看
一 设置sudo为不需要密码

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

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

2) 添加文件的写权限。也就是输入命令"chmod u+w /etc/sudoers",

   然后vi /etc/sudoers,找到“root ALL=(ALL)”这一行,在这一行下面添加:

your_user_name ALL=(ALL)   ALL

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

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

your_user_name 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

5,撤销文件的写权限。也就是输入命令"chmod u-w /etc/sudoers"。

参考: 
http://blog.163.com/love-love-l/blog/static/21078304201071232234518/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux