我在非管理员 Windows 帐户上安装了 WSL 发行版。
一些 WSL 操作需要提升权限(例如--mount --bare
)。
但是管理员帐户无法看到非管理员用户的发行版。 这github issue 指出这是正常的:
这是预期的行为:分发版是按用户安装的,而不是按机器安装的。
那么,除了向该用户授予管理员权限(我不想这样做)之外,我如何在发行版上运行我的 WSL 提升操作?
环境:Windows 10 22H2 [版本 10.0.19045.4170] WSL 2.1.5.0
答案1
这个问题是在 bug-report 中提出的 挂载 Linux 磁盘需要管理员权限 #6414。
用户 OneBlue 的回答如下:
当将分区附加到 WSL2 时,即使只挂载了该分区,也必须将整个磁盘从 Windows 分离并附加到 WSL2。
根据设计,需要管理员访问权限才能执行此操作,因为用户在 WSL 中具有 root 访问权限,因此如果用户没有管理员访问权限,则可以使用 wsl --mount 来绕过文件系统 ACL。
这是出于安全考虑,因为安装磁盘使 WSL 用户能够管理员访问其上的所有文件,因此完全绕过了安全性。
存在允许以管理员身份运行特定应用程序的产品,而无需用户知道管理员密码。这样的产品也许可以解决您的问题,通过运行
wsl --mount
。
一些免费产品可以做到这一点: