无法从 Ubuntu Live CD 写入 /etc/sudoers

无法从 Ubuntu Live CD 写入 /etc/sudoers

我弄乱了 /etc/sudoers 文件,现在我需要恢复它。使用 Ubuntu Live CD 启动系统,安装 LVM 并挂载卷。我是 root,我不能写sudoers我安装的硬盘中的文件。

我无法使用 chmod 更改权限,因为系统告诉我这是一个只读文件系统。

我应该怎么办?

答案1

假设您在临时实时 CD 系统上安装了 Ubuntu 系统的根文件系统/mnt,并且分区是/dev/sda1

然后以读写方式重新挂载:

sudo mount -o rw,remount /dev/sda1 /mnt
  • 如果失败,请卸载文件系统(使用umount) 和fsck它可以查找并修复任何错误(另请参阅e2fsck)。

然后你可以编辑它的sudoers文件如下:

sudo visudo -f /mnt/etc/sudoers

实际上,您可以root使用任何您想要的机制来编辑它。例如,以允许您引入错误的方式编辑它,从而破坏它并阻止sudo它工作:

sudo -e /mnt/etc/sudoers

visudo更好,因为如果语法错误,它将不会保存对文件的更改。

visudo通过在已安装的系统上进行编辑时使用/etc/sudoers(从已安装的系统),您可以避免必须启动到恢复模式或实时 CD 来修复它。

sudo visudo

如果你确实破坏了sudoers文件,你可以修复它而不需要启动恢复模式或重新启动,因为除了sudo成为root

pkexec visudo

pkexec命令行前端是PolicyKit。它通常不存在于没有 GUI 的服务器系统上,但它几乎存在于任何带有 GUI 的 Ubuntu 系统上(并且您实际上不需要 GUI 来在职的使用它,但如果有 GUI,它会为您提供一个身份验证窗口,而不是在终端本身进行身份验证)。

答案2

我弄清楚了如何操作,恢复模式,退出只读文件,放到根目录下,现在我有了写权限:D

相关内容