我弄乱了 /etc/sudoers 文件,现在我需要恢复它。使用 Ubuntu Live CD 启动系统,安装 LVM 并挂载卷。我是 root,我不能写到sudoers
我安装的硬盘中的文件。
我无法使用 chmod 更改权限,因为系统告诉我这是一个只读文件系统。
我应该怎么办?
答案1
假设您在临时实时 CD 系统上安装了 Ubuntu 系统的根文件系统/mnt
,并且分区是/dev/sda1
。
然后以读写方式重新挂载:
sudo mount -o rw,remount /dev/sda1 /mnt
然后你可以编辑它的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