sudo 时免输密码

转载 2012年05月19日 10:13:10

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


通常我们并不以root身份登录,但是当我们执行某些命令 (command)时需要用到root权限,我们通常都是用"sudo command"来执行command。由于使用Ubuntu,所以经常都都用sudo,而使用sudo时,又得输入密码,所以我就寻找sudo不输入密 码的方法。前阵子google了一下,很容容易找到一个方法,但是对其不够理解,今天,仔细研究了一下/etc/sudoers这个文件,对于如何实现自 己的需求就非常清楚了。网上说看到的资料往往写得不清楚,所以我根据自己的需求好好整理了一下。

假设我的用户名为jay(属于 admin组),使sudo不用密码的方法如下。
  运行命令:sudo visudo 或者 sudo vi /etc/sudoers,如果vi来编辑,则保存时记得用"wq!"强制保存,否则会提示只读不能保存的。
  就会编辑/etc/sudoers这个文件。 默认情况我们会看到有"%admin ALL=(ALL) ALL"一句话,就是允许admin组在所有主机上执行所有命令,当然是需要passwd的。
  1. 如果想把admin组的用户都sudo不用密码那么可以将这一行换为:"%admin ALL=(ALL) NOPASSWD: NOPASSWD ALL"即可。
  2. 如果仅仅想让jay用户sudo不需密码,则可添加"jay ALL = NOPASSWD: ALL"这样一行。
  3. 如果让jay用户sudo不用密码即可执行某几个命令,可这样写"jay ALL = NOPASSWD: /usr/bin/abc.sh, /usr/sbin/adduser"
  4. 欲知其他更多配置方式,请运行"man sudoers"看帮助文档吧。
注意:我自己的一个配置没生效,找原因还找了阵子,写到这里吧。
我添 加"jay ALL = NOPASSWD: ALL"这样一行;但是,jay执行sudo时还是需要输入密码,这是为什么?
原来是, 我这一行在"%admin ALL=(ALL) ALL"组策略之前前,后面的组配置覆盖了前面的配置,而jay属于admin组,所以需要密码。
这时, 只需要将%admin行用#注释掉即可。OK!然后立马就生效了,可能执行sudo时系统都会去读取/etc/sudoers的,所以立即就生效了。

另 外,附带公司某服务器的一个/etc/sudoers配置:
Defaults    env_reset
Defaults syslog=auth
Defaults log_year,logfile=/var/log/sudo.log
User_Alias ABC = abc
Cmnd_Alias DEFAULT=/bin/*,/sbin/ldconfig,/sbin/ifconfig,/usr/sbin/useradd,/usr/sbin/userdel,/bin/rpm,/usr/bin/yum,/sbin/service,/sbin/chkconfig,sudoedit /etc/rc.local,sudoedit /etc/hosts,sudoedit /etc/ld.so.conf,/bin/mount,sudoedit /etc/exports,/usr/bin/passwd [!-]*,!/usr/bin/passwd root,/bin/su - [!-]*,!/bin/su - root,!/bin/su root,/bin/bash,/usr/sbin/dmidecode,/usr/sbin/lsof,/usr/bin/du,/usr/bin/python,/usr/sbin/xm,sudoedit /etc/profile,sudoedit /etc/bashrc,/usr/bin/make,sudoedit /etc/security/limits.conf,/etc/init.d/*,/usr/bin/ruby
ABC ALL=(ALL)NOPASSWD:DEFAULT
转自:http://renyongjie668.blog.163.com/blog/static/1600531201066102017514/

通过修改/etc/sudoers 
sudo vi /etc/sudoers 
把/etc/sudoers里面最后一行 
%admin ALL=(ALL) 
改为 
%admin ALL=(ALL) NOPASSWD: NOPASSWD: ALL 
然后强制保存 wq 就OK 

上面说的并不准确,要注意以下几点。

编辑/etc/sudoers文件使用“超级用户终端”,而不能使用普通的终端。“超级用户终端”启动通过右键“编辑菜单”命令添加。

编辑完之后使用wq!而不是wq退出

CentOS下添加普通用户到sudo组,并且免密码登录

1.1 sudo          Sudo是linux系统中,非root权限的用户提升自己权限来执行某些特性命令的方式,它使普通用户在不知道超级用户的密码的情况下,也可以暂时的获得root权限。 ...
  • huangzhijie3918
  • huangzhijie3918
  • 2016年05月08日 13:09
  • 7476

Ubuntu设置su和sudo为不需要密码

针对非服务器用户,只是用普通的Ubuntu桌面用户,嫌密码麻烦可以这么设置一下。。。。。。。。。 一 设置sudo为不需要密码 需要编辑/etc/sudoers文件将用户加入,该文件只能使用vi ...
  • langb2014
  • langb2014
  • 2017年01月21日 17:39
  • 3412

ubuntu下sudo命令不再输入密码

ubuntu下普通用户是没有root权限,很多命令在使用时都需要使用命令sudo 'cmd',但系统需要user验证自己,即需要输入普通用户的密码。但普通用户是否有执行该cmd的权限,需要到系统文件/...
  • davidsky11
  • davidsky11
  • 2014年04月21日 18:38
  • 2210

让Linux系统执行sudo时不用输密码

今天晚上在红联论坛上看到有位朋友在问怎么在 Fedora系统里使用 sudo 命令以及怎么做到让执行 sudo 命令时可以不输入密码。因为毕竟我们的桌面系统只是我们自个在用,不像跑在服务器上,所以没有...
  • batoom
  • batoom
  • 2011年10月27日 09:00
  • 4742

输错密码?这个 sudo 会“嘲讽”你

导读 你在 Linux 终端中会有很多的乐趣。我今天要讲的不是在终端中跑火车。我今天要讲的技巧可以放松你的心情。你学习过如何在命令行中增加 sudo 命令的超时,今天的文章中,我会向你展示如何让 s...
  • linux_shuai
  • linux_shuai
  • 2016年05月14日 16:42
  • 101

[镜像制作]Ubuntu的sudo免密码设置

正常情况下,在使用sudo命令时,系统是要求输入密码的。输入的密码会保存一小段时间,在这段时间内,sudo不再要求输入密码,之后,再使用sudo,系统仍会要求输入密码,但是在制作镜像过程中,我们可能会...
  • chinagissoft
  • chinagissoft
  • 2015年05月11日 08:56
  • 715

Linux避免多次sudo时重复输入密码的另一种实现

之所以称为”另一种实现”是因为在网络上搜索类似的标题时,几乎所有的建议都是去修改/etc/sudoers这个文件,加上NOPASSWORD这个参数来搞定。 在我们的系统中,因为某种安全原因,只允...
  • napolunyishi
  • napolunyishi
  • 2014年02月07日 14:40
  • 2289

在 Linux 命令行脚本中执行 sudo 等命令时自动输入密码(使用expect)

使用 expect 实现自动登录的脚本的原理。   脚本代码如下:   ##############################################   #!/usr/bin/expe...
  • u012501054
  • u012501054
  • 2017年05月22日 15:29
  • 657

让sudo在你输入错误密码时“嘲讽”你

1. 不能使用sudo命令解决方法:解决方法(添加用户至sudoers文件):(1) 切换root用户(2) 添加用户至 sudoers 文件(vim /etc/sudoers 或者 visudo...
  • Oscer2016
  • Oscer2016
  • 2017年05月28日 11:51
  • 279

Ubuntu/fedora实用小技巧—禁止自动锁屏、设置免密码自动登录、免密码执行sudo操作

http://www.cnblogs.com/lanxuezaipiao/p/3617436.html?foxhandler=RssReadRenderProcessHandler
  • kaka20080622
  • kaka20080622
  • 2014年04月14日 20:49
  • 519
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sudo 时免输密码
举报原因:
原因补充:

(最多只允许输入30个字)