你好,游客 登录 注册 搜索
背景:
阅读新闻

Ubuntu无法使用sudo提权提示当前用户不在sudoers文件中

[日期:2017-05-11] 来源:Linux社区  作者:qingspace [字体: ]

Ubuntu安装后默认root不能登陆系统,密码也是随机生成,其他用户使用root权限,可以使用sudo提权,前提是该用户在/etc/sudoers配置列表中。

但是有时用户名从/etc/sudoers被意外删除了,sudo不能用了,root又不知道root密码(之前没有改过或者忘记了),如果想修改/etc/sudoers也不可能了,进入了一个死循环。

但可以如下面的方法解决:

1.重启按shift键,进入Ubuntu高级模式,选择一个recovery mode进入,出现一个9个选项的菜单,如果是安装时语言是中文可能出现乱码,不过不影响操作。

2.菜单分别是:resume恢复正常启动;clean清理磁盘释放空间;dpkg修复损坏软件包;fsck磁盘修复;grub更新引导程序;network开启网络;root进入root的shell。

这里先选择fsck选择左边按钮yes进入读写模式,接着回车后返回选择root进入才可以修改文件,在root的shell中可以修改root密码,将需要sudo提权的用户名加入sudo组中

$passwd root
$usrmod -G sudo qingspace

其实打开/etc/sudoers文件,也可以看到sudo用户组允许sudo提权,把用户加入sudo组就可以执行sudo命令了,这里需要注意修改用户组后需要重启才能生效。

# User privilege specification
root    ALL
=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group
sudo to execute any command
%sudo  ALL=(ALL:ALL) ALL

3. 如果对recovery mode模式下中文乱码反感的话,可以尝试将以下目录中的文件重命名,让界面重回英文(Ubuntu16.10下测试)

$cd  /usr/share/locale-langpack/zh_CN/LC_MESSAGES/
$sudo mv friendly-recovery.mo friendly-recovery.mo.bak
$sudo mv newt.mo  mvnewt.mo.bak

Ubuntu 用户名 不在 sudoers文件中,此事将被报告。  http://www.linuxidc.com/Linux/2016-05/131248.htm

本文永久更新链接地址http://www.linuxidc.com/Linux/2017-05/143671.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款