打开上网客户端、新立得,这些涉及到系统的都要输入密码,对于我们大多数人来说,用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