您的位置:首页 > 其它

sudo: /etc/sudoers is mode 0777, should be 0440 单用户 sudo不用输入密码的方法

2015-02-03 10:49 543 查看
sudo权限问题考察一题 su - sudo su - sudo su - test

[root@localhost ~]# su - zzx #root用户进行切换不需要输入密码

[zzx@localhost ~]$ su - zzy #这时需要输入zzy的密码

[zzy@localhost ~]$ su - zzx #输入zzx的密码才能由zzx切换到zzy

[zzx@localhost ~]$ su - #zzx切换到root 输入root密码

[zzy@localhost ~]$ sudo su -zzx

[sudo] password for zzy: #输入zzy密码 提示如下 ,说明zzy没有sudo权限 需要visudo授权

zzy 不在 sudoers 文件中。此事将被报告。

切换到root进行visudo授权

[zzy@localhost ~]$ su -

[root@localhost ~]# visudo #root行下添加

98 root ALL=(ALL) ALL
99 zzy ALL=(ALL) ALL

[zzy@localhost ~]$ sudo su - zzx #此时zzy有了sudo权限
[sudo] password for zzy: #输入zzy的密码就可以切换到zzx
上一次登录:六 4月 11 13:59:45 CST 2015pts/0 上
[zzx@localhost ~]$ #这时zzx没有sudo权限 要用sudo su - 切换到zzy 是不行的 只能用 su - zzy 用root权限进行切换

打开上网客户端、新立得,这些涉及到系统的都要输入密码,对于我们大多数人来说,用Linux无非是做桌面应用,对安全性没必要搞得跟服务器一些。下面是我的一个解决办法:

在启动时进入安全模式,这时是用root登录的,执行: (注:下面这些命令都是要加:sudo的,或者开一个窗口:sudo su - 切换到root界面来操作)

chmod 740 /etc/sudoers

然后打开/etc/sudoers这个文件,把最后一行:

%admin ALL=(ALL)
改为
%admin ALL=(ALL) NOPASSWD: NOPASSWD: ALL

保存退出。

执行:
chmod 0440 /etc/sudoers (注:这个地方千万要注意,一定要设置成044,而不能设置成777,如果是777的话,并且你还忘记了root的密码的话,之后就不能使用sudo了)

reboot your ubuntu.OK!

sudo: /etc/sudoers is mode 0777, should be 0440终极解决之道
单用户

不得不说,有时候手贱的把/etc/sudoers文件权限改了,是一件很蛋疼的事.因为此时你会发现无论做什么都会弹出一条讨厌的提示,说没有权限执行等等...

网上有介绍登入root用户,或者去grub的recovery mode选项去选择root模式进入,再去用chmod把/etc/sudoers的权限改回来.但是你可能从来没设置过root密码,或者你根本就不知道root密码是多少.或者即便进入了recovery mode选项去选择root模式,当执行chmod的时候却发现read-only file system.这时,同学们也许只能仰天长啸了...

下面的方法可谓终极解决之道(本人在ubuntu12.04版本亲测,其他版本也许不同).

1. 启动ubuntu的时候按下shift键,注意是一直按住,也是进入grub list栏;

2. 选择第二个recovery mode模式,注意,选择之后不是按回车(enter),而是按e键编辑引导命令;

3. 然后修改倒数第三行里面的“ro recovery nomodeset”改为"rw single init=/bin/bash",最下面有按键的提示.(注意:ro是只读模式read only,rw是读写模式read write);

4. 修改完之后按Ctrl-x或F10进入单用户模式(此时做什么操作都可以);

5. 输入“chmod 0440 /etc/sudoers”将/etc/sudoers的权限改回来(同时,这里可以设置root密码,输入“passwd root”,然后回车,输入密码,要两次.注意,密码不会出现***);

6. 重启,只能使用“ctrl+alt+delete”,其他的都不行.

把/etc/sudoers里面最后一行
%admin ALL=(ALL)
改为
%admin ALL=(ALL) NOPASSWD: NOPASSWD: ALL
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: