Ubuntu无法sudo提权,报当前用户不在sudoers文件中错误

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

时间: 2024-10-07 19:30:03

Ubuntu无法sudo提权,报当前用户不在sudoers文件中错误的相关文章

Ubuntu 用户不在sudoers文件中

某次重启系统,使用sudo命令时突然出现问题,用户不在sudoers文件中,无法使用sudo权限. 重启进入恢复模式,依然无法修改sudoers文件,可以设置root($su root)密码,但是正常进入系统之后依然无效.(此时系统处于 read-only 模式),因此需要进入读写模式设置: 1. 重启进入恢复模式: 2.选择 fsck 进入可读写文件模式(exit read-only mode) 3.选择 root Drop to root shell prompt 4.$usermode -

解决用户“不在 sudoers 文件中”的问题

在centOS系统中,我添加了一个用户,但是在我执行su时,终端告诉我以上的错误,下面是我的解决过程: 首先切换到root用户: 给 etc/hosts读写的权限: 使用vi功能打开sudoers文件,在root ALL=(ALL) ALL 后面加入本用户的信息: hadoop ALL=(ALL)  ALL 重新给该文件设置权限440,退出root,使用sudo功能: 好了.只是个简单的小问题,写出来也是给自己看为主,要是能对像我一样的初学者有帮助那就更好了啊,嘿嘿. 解决用户"不在 sudoe

用户不在sudoers文件中的解决方法 .

在使用Linux系统过程中,通常情况下,我们都会使用普通用户进行日常操作,而root用户只有在权限分配及系统设置时才会使用,而root用户的密码也不可能公开.普通用户执行到系统程序时,需要临时提升权限,sudo就是我们常用的命令,仅需要输入当前用户密码,便可以完成权限的临时提升.在使用sudo命令的过程中,我们经常会遇到当前用户不在sudoers文件中的提示信息,如果解决该问题呢?通过下面几个步骤,可以很简单的解决此问题. 1.切换到root用户权限 Last login: Tue Sep 24

用户不在sudoers文件中

在使用sudo命令的过程中,我们经常会遇到当前用户不在sudoers文件中的提示信息,如果解决该问题呢?通过下面几个步骤,可以很简单的解决此问题. 1.切换到root账户登录 如果没有设置root账户密码则通过如下命令设置root账户登录密码 su root 2.查看/etc/sudoers文件权限,如果只读权限,修改为可写权限 chmod 777 /etc/sudoers 3.修改/etc/sudoers 添加要提升权限的用户:在文件中找到root  ALL=(ALL) ALL,在该行下添加提

linux用户不在sudoers文件中

*** is not in the sudoers file.  This incident will be reported." (用户不在sudoers文件中--) 处理这个问题很简单,但应该先理解其原理再操作 首先要明白root的密码一般用户是不应改知道的,但一般用户有时可能要用到root的一些权限. 这里就有了一个 /etc/sudoers 文件,用来保存一些用户,使这些用户可以通过sudo命令来暂时获取root的权限.这些用户使用sudo时输入的密码是当前用户密码,而不是root密 码

烂泥:【解决】ubuntu提示ilanni不在sudoers文件中错误

本文首发于烂泥行天下. 今天在Ubuntu系统中新建一个用户ilanni,添加完毕后.在执行有关sudo的命令时,提示如下的错误信息:ilanni 不在 sudoers 文件中.此事将被报告. 经过查询相关资料得知: ilanni用户的权限不够,造成的.只需要把该用户加入sudo用户组即可. 切换到root用户,修改/etc/sudoers文件,把ilanni用户加入进去即可.如下: 修改完,该配置文件后.再次执行相关的sudo命令就没有报错,如下:

CentOS使用sudo提示用户不在sudoers文件中的解决方法

切换到root用户 [[email protected] ~]$ su root 密码: [[email protected] ~]# 查看/etc/sudoers文件权限,如果只读权限,修改为可写权限 [[email protected] ~]# ll /etc/sudoers -r--r-----. 1  root root 4030 12月  10 09:55 /etc/sudoers [[email protected] ~]#  chmod 777 /etc/sudoers [[ema

用户不在 sudoers 文件中,此事将被报告

在使用Linux系统过程中,通常情况下,我们都会使用普通用户进行日常操作,而root用户只有在权限分配及系统设置时才会使用,而root用户的密码也不可能公开.普通用户执行到系统程序时,需要临时提升权限,sudo就是我们常用的命令,仅需要输入当前用户密码,便可以完成权限的临时提升. 用户不在 /etc/sudoers 中就不能临时提权了 不建议直接修改/etc/sudoers文件. 其实只要把用户加到 wheel 用户组(Ubuntu是admin组)就ok. gpasswd -a user adm

CentOS中用户不在 sudoers 文件中。此事将被报告。

首先切换为root用户 su root; 然后更改etc/sudoers文件的只读为可读可写可执行. sudo chmod 777 /etc/sudoers 输入visudo命令即可编辑文件,找到root    ALL=(ALL)    ALL的字段 追加username    ALL=(ALL)     ALL,其中username为你当前需要获得root权限的用户名 5分钟之后密码过期,下次需要重新输入,如果不想如此麻烦,可以用以下方法 username    ALL=(ALL)     N