问题描述
有时候我们在使用window10 子系统ubuntu开发的时候会遇到一些坑,现在以php开发为例,代码是放在/mnt/c/path路径下,在不创建目录或者文件的时候是不会遇到权限问题的,不知道你们是否遇到过:
比如chmod ,copy,mkdir 都提示权限不足,大多数人都会想到立即给目录最高权限 比如: chmod -R 777 /path,最后发现还是不行,经过多次发现是 linux 出了chmod给目录权限以外,还有个umask权限设置,这是权限缺省值,想要给用户增加777权限,那么umask必须设置为0 才会生效,查看下面图片
查看挂载盘权限(之前这里一直是22,明明用户组也改了也不行,是个大坑)
如果不是请执行以下命令 重新挂载即可
sudo umount /mnt/c
sudo mount -t drvfs C: /mnt/c -o metadata,uid=33,gid=33,umask=0,fmask=11
编辑wsl.conf
# Let’s enable extra metadata options by default
[automount]
enabled = true
root = /mnt/
options = "metadata,umask=00"
mountFsTab = false
#Let’s enable DNS – even though these are turned on by default, we’ll specify here just to be explicit.
[network]
generateHosts = true
generateResolvConf = true
#All windows program shoulbe be normally run in wsl. great!
[interop]
enable = true
appendWindowsPath = true
[filesystem]
umask = 00