我在一个大型 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:~#
这是解决问题的足够好的方法吗?