不使用 sudo 而使用 chmod sudoers

不使用 sudo 而使用 chmod sudoers

我在一个大型 USB 闪存驱动器上安装了 lubuntu,并且不知何故,我的/etc/sudoers文件具有文件权限 0664,每当我尝试使用 sudo 时,它都会显示:

sudo: /etc/sudoers is mode 0644, should be 0440

sudo: no valid sudoers sources found, quitting

当我尝试时chmod 0440 /etc/sudoers它说:

chmod:更改“/etc/sudoers”的权限:操作不允许

sudo chmod 0440 /etc/sudoers导致出现第一条消息。我是否错误地使用了 chmod?我该如何修复此问题?如果您需要知道,它是 lubuntu 10.10,使用 unetbootin 安装。

编辑:我知道如何使用恢复模式修复它,我只需要知道如何在实时 CD 中进入恢复模式,可以吗?

答案1

两种方法:

  • 在启动过程的早期,退出到引导加载程序菜单,并将以下内容附加到内核命令行:

    single
    

    对于 Ubuntu,这将导致它以“恢复”模式启动,直接进入 root shell。

    如果恢复控制台中的 chmod 抱怨只读文件系统,请将其重新挂载为只读:

    mount / -o remount,rw
    

    如果single由于某种原因不起作用,另一个选择是完全跳过初始化过程,但这可能无法启用持久覆盖。

    init=/bin/sh rw
    

    (删除所有现有ro选项)

  • 或者,使用另一台具有 root 访问权限的 Linux 计算机 - 例如真正的现场 CD(是否是 Ubuntu 并不重要)。然后插入您的驱动器及其上mount的文件系统etc/sudoers-o loop如果需要),并使用sudo chmod


我是否错误地使用了 chmod ?

用法是正确的,只是只有文件的所有者才能更改其权限,并且/etc/sudoers通常由 root 拥有,但您不是。

答案2

我不确定最近的 Ubuntu 是否默认启用了 root 用户,但你可以尝试

su root

改为获取 root shell。如果这不起作用,本指南指导您在 Ubuntu 上修复 sudo(我自己还没有尝试过!)

答案3

我认为我已经用这个命令解决了这个问题

pkexec chmod 0440 /etc/sudoers

我现在可以做

sudo -s
root@ubuntu:~#

这是解决问题的足够好的方法吗?

相关内容