我经常使用文件资源管理器将 Windows 文件移动/复制到 WSL 环境中进行 Bash 操作。我以这种方式移动/复制的所有 Windows 文件的权限默认设置为 000。我必须使用 chmod 才能重新打开权限。
我可以在 WSL 中设置一些默认值,以便在不使用 chmod 的情况下对文件拥有正确的权限吗?umask 似乎没用,因为该文件不是在 WSL 中创建的。
我正在使用 WSL 1。
答案1
默认权限是在文件中根据每个发行版设置的
wsl.conf
,并且是所有 WSL 2 发行版的全局设置.wslconfig
。
从 WSL 的文件权限:
您可以使用 中的安装选项在 Windows 驱动器内配置您的文件权限
wsl.conf
。安装选项允许您设置umask
、dmask
和fmask
权限掩码。umask
应用于所有文件,dmask
仅适用于目录,fmask
仅适用于文件。这些权限掩码在应用于文件时会经过逻辑或运算,例如:如果您的值为umask
023 和fmask
值为 022,则文件的最终权限掩码将为 023。
此外,文章 WSL 中的高级设置配置 描述你的情况:
/etc/wsl.conf
您的 WSL 发行版中的一个示例:
[automount]
options="metadata,case=dir,umask=22,fmask=111"
更多信息可以通过搜索找到。例如 修复 WSL 文件系统行为,但还有很多。