xiaofeng007的个人博客分享 http://blog.sciencenet.cn/u/xiaofeng007

博文

Ubuntu下sudo不能使用之解决办法

已有 26274 次阅读 2014-2-8 20:15 |个人分类:linux|系统分类:科研笔记| Linux, ubuntu, sudo

Ubuntusudo不能使用之解决办法

使用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权限,确保无误。






https://blog.sciencenet.cn/blog-864100-765717.html


收藏 IP: 218.64.17.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-21 17:07

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部