wsl2 无法更改文件权限

Alg*_*bra 6 file-permissions chmod windows-subsystem-for-linux

我正在win10的wsl2上工作:

\n
PS C:\\Users\\Gaowei> wsl -l -v\n  NAME            STATE           VERSION\n* Ubuntu-20.04    Running         2\n
Run Code Online (Sandbox Code Playgroud)\n

进入wsl后,我制作了一个test.md的文件:

\n
\xe2\x9e\x9c  ~ ls -l test.md\n-rwxrwxrwx 1 gaowei gaowei 0 Aug 25 17:17 test.md\n
Run Code Online (Sandbox Code Playgroud)\n

然后尝试更改其权限:

\n
\xe2\x9e\x9c  ~ chmod 755 test.md\n\xe2\x9e\x9c  ~ ls -l test.md\n-rwxrwxrwx 1 gaowei gaowei 0 Aug 25 17:17 test.md\n\xe2\x9e\x9c  ~ sudo chmod 755 test.md\n\xe2\x9e\x9c  ~ ls -l test.md\n-rwxrwxrwx 1 gaowei gaowei 0 Aug 25 17:17 test.md\n
Run Code Online (Sandbox Code Playgroud)\n

不幸的是,事实证明它保持不变。

\n

我的机器信息:

\n
gaowei@Spiritme\n---------------\nOS: Ubuntu 20.04.1 LTS on Windows 10 x86_64\nKernel: 4.19.104-microsoft-standard\nUptime: 4 mins\nPackages: 1068 (dpkg)\nShell: zsh 5.8\nTerminal: /dev/pts/0\nCPU: AMD Ryzen 5 4500U with Radeon Graphics (6) @ 2.370GHz\nMemory: 75MiB / 12277MiB\n
Run Code Online (Sandbox Code Playgroud)\n

可能是什么问题?

\n

Alg*_*bra 13

/etc/wsl.conf通过创建文件并将其配置为以下方式解决了该问题:

\n
# Enable extra metadata options by default\n[automount]\nenabled = true\nroot = /mnt/\noptions = "metadata,umask=22,fmask=11"\nmountFsTab = false\n# Enable DNS \xe2\x80\x93 even though these are turned on by default, we\'ll specify here just to be explicit.\n[network]\ngenerateHosts = true\ngenerateResolvConf = true\n
Run Code Online (Sandbox Code Playgroud)\n

参考:wsl.conf

\n

  • `options = "metadata"` 部分就是所需要的。有关更多详细信息,请参阅 /sf/answers/3559974071/。 (5认同)
  • 你能解释一下为什么这个配置应该解决这个问题吗?谢谢 (2认同)