更改移入 WSL 目录树的新 Windows 文件的默认权限。怎么做?

更改移入 WSL 目录树的新 Windows 文件的默认权限。怎么做?

我经常使用文件资源管理器将 Windows 文件移动/复制到 WSL 环境中进行 Bash 操作。我以这种方式移动/复制的所有 Windows 文件的权限默认设置为 000。我必须使用 chmod 才能重新打开权限。

我可以在 WSL 中设置一些默认值,以便在不使用 chmod 的情况下对文件拥有正确的权限吗?umask 似乎没用,因为该文件不是在 WSL 中创建的。

我正在使用 WSL 1。

答案1

默认权限是在文件中根据每个发行版设置的 wsl.conf,并且是所有 WSL 2 发行版的全局设置.wslconfig

WSL 的文件权限

您可以使用 中的安装选项在 Windows 驱动器内配置您的文件权限wsl.conf。安装选项允许您设置umaskdmaskfmask权限掩码。umask应用于所有文件,dmask仅适用于目录,fmask仅适用于文件。这些权限掩码在应用于文件时会经过逻辑或运算,例如:如果您的值为umask023 和fmask值为 022,则文件的最终权限掩码将为 023。

此外,文章 WSL 中的高级设置配置 描述你的情况:

在此处输入图片描述

/etc/wsl.conf您的 WSL 发行版中的一个示例:

[automount]
options="metadata,case=dir,umask=22,fmask=111"

更多信息可以通过搜索找到。例如 修复 WSL 文件系统行为,但还有很多。

相关内容