|||
Ubuntu下sudo不能使用之解决办法
使用sudo而非root帐户的优点:
使用sudo的优点在于简单和安全。当运行sudo,需要的密码是普通用户的密码,非root密码,这样只需记住一个密码即可。而且要比root更加方便安全,不用时时担心由于root的误操作,从而避免损失。
由于没有权限导致sudo不能使用:
如果普通账户没有给予sudo命令的权限,会出现这种情况:
解决这个问题只需要切换到其他可以执行sudo的用户,修改/etc/sudoers文件即可,但是这个文件的修改要很小心,它默认的权限为440,所以要改权限,修改完文件再把权限改回去。
1. $ sudo su -
2. # chmod a+w /etc/sudoers
3. # visudo 强烈推荐用visudo命令修改,它会自己做一些语法检查,防止vi直接编辑出问题。
4. # chmod a-w /etc/sudoers 一定要把权限修改过来,要不然会导致所有的用户sudo都不能使用。
其中visudo之后,需要在root ALL=(ALL:ALL) ALL 一行后加上类似的一行:xx ALL=(ALL:ALL) ALL ,保存退出即可。其中xx是需要授予sudo执行权限的用户名。值得注意的一点是,一定要把权限全部修改回来,否则有所有的用户都不能用sudo这个命令了,会出现:
修改/etc/sudoers文件后导致sudo不能使用:
本人就是在这步卡死了,忘记把权限修改回来,导致所有用户的sudo命令都不能使用,鼓弄了一下午才解决掉。希望可以给读者些借鉴,不再犯这样的错误,节约时间,这也是本人分享此文的目的!
主要思路是:重启Ubuntu,按Esc或者Shift键进入grub的引导菜单,选择进入recovery mode,进入后选择root登录,便可以修改sudoers文件的权限
1. 重启ubuntu,启动时按Esc或Shift键,可以看到引导选项:
2. 在引导选项中选择recovery mode模式的那一项来引导,Enter进入Recovery Menu页面,后选择grub项,会再现以下选择,选择YES。
3. 按Esc返回到Recovery Menu后可看到filesystem state变成(read/write)(忘记截图了)。
4. 选择root选项:
5. 执行chmod 440 /etc/sudoers 命令即可。
6. 检查下/etc/sudoers权限,确保无误。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-21 17:07
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社