WSL修改网站目录磁盘的用户权限

本文是《基于 WSL 搭建WordPress本地开发环境》专题的第 7 篇,共 7 篇:

在WSL的Ubuntu系统中配置了LNMP环境,在使用过程中,遇到了一些权限错误信息,比如上传图片时,提示 chmod(): Operation not permitted 的警告信息。如果你在线安装主题或插件的过程中,也可能遇到这个问题。

chmod() 是对文件设置权限的函数,所以第一时间就认识到,应该是用户组或读写权限的问题。

下面简单说下具体的解决办法。

首先,我们需要知道的第一点是:军哥、宝塔的安装包配置的LNMP环境,网站运行目录都应该设置为 www 用户组

我们在Ubuntu中输入命令:

sudo cat /etc/group

回车后,找到www用户组的id,比如我们的示例中为 1001。也就是说我们必须确保网站目录要修改为 1001 的www用户组。

WSL每次重新启动都会自动挂载磁盘,我们先看下默认情况下磁盘挂载的属性:

mount -l

从上图可以看到,所有windows磁盘当前在id为1000的用户组下。

可喜的是,WSL允许我们通过 /etc/wsl.conf 文件设置自动挂载的默认属性。这个配置文件默认是不存在的,我们可以通过下面的命令操作:

sudo vim /etc/wsl.conf

输入你的密码就可以进入到这个新文件,按一下字母 i 键,进入到编辑模式,输入下面的内容:

注:请根据你自己系统的www用户id修改下面的id号

[automount]
enabled = true
root = /mnt/
options = "metadata,uid=1001,gid=1001"
mountFsTab = false

然后按一下 ESC 键退出编辑模式,英文状态下输入 :wq 回车,保存文件并退出。

然后关闭Ubuntu窗口,等待几分钟,或者直接重启电脑,然后重新运行Ubuntu,使用命令 mount -l 可以看到磁盘已经自动挂载,并且添加了metadata,uid=1001,gid=1001属性。

从上图可以看到,我们的磁盘已经设置为www用户下,并且具备了 metadata 属性。然后我们测试再次上传图片,没有再遇到之前的报错了:

要了解更多信息:请阅读下面的文章:

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
欢迎关注我们的微信公众号:WPDAXUE

倡萌

一个文科IT宅男,喜欢折腾WordPress和被它折腾 ^_^

暂无评论

发表评论