Chinaunix首页 | 论坛 | 博客
  • 博客访问: 78708
  • 博文数量: 15
  • 博客积分: 346
  • 博客等级: 一等列兵
  • 技术积分: 170
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-14 17:20
文章分类
文章存档

2012年(15)

分类: LINUX

2012-05-14 20:10:08

    作为ubuntu等桌面系统,默认登录的帐号是没有root权限的,为了提升权限来执行任务,我们一般用到sudo+命令来执行,但是不难发现我们一般都要输入密码。那么有没有什么方法可以让我们执行sudo的时候不输入密码呢?当然有咯。那就是对sudoers文件进行修改。

如何修改sudoers?直接修改/etc/sudoers么?不,那样子修改很容易造成权限错乱。奶牛手动修改的时候,由于对于格式并不是那么了解,所以编辑的时候报错很多次,因此不建议用直接修改法。我们可以用visudo来进行编辑。

进入终端,执行sudo visudo

在#User privilege specification下面会罗列一些规则,我们现在需要做的是对我们的用户进行一些操作。假如我们的用户名为nenew

在文件的最后一行添加:

nenew    ALL=(ALL) NOPASSWD: ALL

然后保存退出,执行

sudo usermod -aG admin nenew

重启下看看nenew帐号执行sudo还需要密码么?这里我们需要了解顺序这个问题,在ubuntu的wiki上有比较详细的介绍。

%admin ALL=(ALL) ALL
这行只是让admin组的用户拥有可以像任何帐号一样执行命令的能力,但是还是需要有密码的,因此我们需要把我们的nenew用户加入到admin组中,所以有sudo usermod -aG admin nenew ,然后是对其进行NOPASSWD定义,这行一定要在%admin ALL=(ALL) ALL 这行后面,才会生效。

文章发玩之后很多朋友提出不安全问题来,确实,这样是存在安全隐患的。奶牛此文的目的也只是想让各位了解下sudoers的那个生效的顺序,当然,我们可以把最后的

nenew    ALL=(ALL) NOPASSWD: ALL 更改为对于命令进行限制,例如对于关机命令取消密码

nenew    ALL=(ALL) NOPASSWS: /sbin/shutdown, /sbin/halt, /sbin/reboot

更详细的说明请看:


注意:如果你添加了一行在root的下面,这样的话修改是不会生效的,因为%admin ALL=(ALL) ALL这行的策略会覆盖掉nenew的这条策略,又变成需要密码,所以你可以把nenew这句话搬到admin这句话的后面,立马生效。

文档来源:http://blog.csdn.net/hercaffe/article/details/7212888

阅读(2307) | 评论(0) | 转发(0) |
0

上一篇:字符设备常用代码段

下一篇:vim打造IDE

给主人留下些什么吧!~~