如何撤消 sudoers 文件中的错误?

如何撤消 sudoers 文件中的错误?

sudo visduo我不小心在文件中命令了 root 管理员和 sudo 。

现在,当前用户无法将其回滚,因为我无法再访问它。

文件无法通过命令打开sudo visudo它说:用户不在 sudoers 文件中。

当我通过它访问它时,nano /etc/sudoers当我尝试再次保存文件时却说权限被拒绝。

$sudo cat /etc/sudoers
...
# User privilege Information

#root ALL=(ALL) ALL

#...
#%sudo ALL=(ALL) ALL
#
#includedir /etc/sudoers.d

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

答案1

由于您可以使用“root”用户登录,因此您只需执行以下操作:

chmod 644 /etc/sudoers

这将允许“root”用户修改/etc/sudoers文件。此后,您只需:

nano /etc/sudoers

并保存您的更改。

答案2

使用 shellshock 向/etc/passwd(或 sudoers(但我不知道删除注释有多难。我以为 echo 只能添加)) 发送回显以创建标识符为 0 的用户。无限制访问 root 或不是。如何创建如此精心设计的命令超出了我的能力范围。

或者,完全可以从实时环境 chroot 进入,然后从那里编辑 sudoers。不确定,因为你说过,即使是 root 也无法进入。我不知道这会有多灾难性,env x='() { :;}; rm /etc/passwd' bash -c "You've done it now"我也不知道你的发行版是否提供了方法cp /etc/skel/sudoers /etc/sudoers

非常类似于. 解决方案可能就在那里。

相关内容