joe*_*oe5 19 bash chmod windows-10 windows-subsystem-for-linux
在Windows 10上运行bash时,下面的简单语法在我通过SSH连接到我的网络服务器时起作用,但是当我退出并在我的本地机器上时则不行.它没有给我一个错误,但我可以看到权限不变.我必须检查我是否在计算机上设置为管理员.这是一个错误还是仅仅是本地操作系统是Windows的结果?如果是后者,它会让我质疑在Windows上使用bash的价值,如果这样的常见操作不起作用.
$chmod 644 filename
Run Code Online (Sandbox Code Playgroud)
Cha*_*hao 26
Amade的答案是正确的,但请注意,cmd仅在会话范围内生效.如果退出当前bash,您将丢失设置.
要解决此问题,您需要编辑/etc/wsl.conf.并在下面配置.
[automount]
enabled = true
options = "metadata"
Run Code Online (Sandbox Code Playgroud)
参考:
Ama*_*ade 15
WSL最近有一个更新(源),它使您可以更改文件的权限(Insider Build 17063)。
您要做的就是运行:
sudo umount /mnt/c
sudo mount -t drvfs C: /mnt/c -o metadata
Run Code Online (Sandbox Code Playgroud)
阿玛德斯和混沌的答案都是正确的。但它仅适用于本地驱动器,不适用于映射的网络驱动器。Z:是我的网络驱动器之一。同样的操作/mnt/c/Users/xxx/效果很好。
$sudo mount -t drvfs Z: /mnt/z -o metadata
$touch test
$chmod +w test
chmod: changing permissions of 'test': Operation not permitted
Run Code Online (Sandbox Code Playgroud)
这是一个已知问题,请参阅drvfs:安装的 SMB 驱动器可能元数据 (chmod\chown) 吗?
| 归档时间: |
|
| 查看次数: |
11860 次 |
| 最近记录: |