有没有适用于 WSL 的 Linux/Ubuntu 恢复方法?

有没有适用于 WSL 的 Linux/Ubuntu 恢复方法?

作为StackOverflow 上一个问题提到,是否可以在 WSL 程序上使用任何常规恢复工具(从 USB 实时启动、grub 命令行等),如果可以,如何使用?

例如,如果某人意外修改了sudo权限,无法再使用 sudo,否则会收到“/etc/sudoers 是所有人可写的”错误。在这种情况下,如何恢复权限/etc/sudoers,因为此chmod命令本身需要sudo,因此通常需要进行实时启动才能更改文件权限?

更新:出于我自己的“概念验证”目的,我最初尝试从完全独立的 Ubuntu 计算机挂载我的 Windows 驱动器(带有 WSL),看看是否可以从那里更改 sudoers 文件权限。

虽然我似乎能够从 Ubuntu 更改权限,但一旦我回到 Windows 和 WSL,sudoers 文件就会显示为已损坏(垃圾ls -lah数据)。我使用了@user1686 在评论中@NotTheDr01ds 在回答中以 root 身份访问 WSL,然后创建具有正确权限的新 sudoers 文件。

答案1

给定您的“例如”,WSL 允许您轻松地wsl -u root从 PowerShell 或 CMD 以 root 身份(无需密码)启动默认实例,或者,如果它不是默认实例,则wsl -d <DistroName> -u root启动。然后,您visudo无需输入 sudo 密码即可运行。

WSL 还允许使用 来“备份”整个文件系统wsl --export <DistroName> <filename.tar>。这很可能是使用 Windows 任务管理器中的脚本自动创建备份计划。然后,恢复将是使用 恢复到最新状态的问题wsl --importwsl --help有关详细信息,请参阅)。请注意,导入的实例不存储默认用户名,因此您还需要创建/etc/wsl.conf一个用户部分。

相关内容