首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WSL + Docker文件权限问题

WSL + Docker文件权限问题
EN

Stack Overflow用户
提问于 2021-11-19 00:02:52
回答 2查看 409关注 0票数 4

我在WSL环境中使用docker-compose。目前Wordpress在docker composer中运行。项目文件夹中的所有文件都在www-data group和user中,允许Wordpress创建所有内容并上传插件。

但是,只要我想编辑文件,vs-code就会出现文件权限错误。

将用户切换到和www-data组允许vs-code编辑文件,但Wordpress在上传插件或删除插件/文件时会出现权限错误。

wsl.conf看起来像这样:

代码语言:javascript
运行
复制
# Enable extra metadata options by default
[automount]
enabled = true
root = /windir/
options = "metadata,umask=22,fmask=11"
mountFsTab = false

# Enable DNS – even though these are turned on by default, we'll specify 
here just to be explicit.
[network]
generateHosts = true
generateResolvConf = true

使用带有Ubuntu-20.04 - Kernel: 5.10.60.1和最新docker版本的Win 11。

编辑:

不过,当我想在Wordpress中编辑东西,上传媒体或上传插件时,我需要sudo chown -R www-data *,如果我想在VScode中编辑文件,我需要sudo chown -R <username> *

EN

回答 2

Stack Overflow用户

发布于 2021-12-01 20:37:20

我在本地的WordPress开发设置中遇到了类似的问题。(Windows 10 + WSL2),这里有一个指向git存储库的链接:https://github.com/dorumarginean/wordpress-docker

为了上传图片/插件,我像你提到的那样更新了所有者,为了获得Visual Studio代码的写权限,我在docker-compose.yml中编辑了PHP容器。

用户:“1000:1000”

票数 1
EN

Stack Overflow用户

发布于 2021-12-02 12:44:11

下面是我遇到类似问题时所做的事情:创建一个包含www-data和运行编辑器的用户的新组。

现在让我们称您的本地用户为myuser,并将您的新组称为mygroup

首先,您需要创建一个新组

代码语言:javascript
运行
复制
sudo addgroup mygroup

将webserver用户和您的用户都添加到此新组中

代码语言:javascript
运行
复制
sudo adduser myuser mygroup
sudo adduser www-data mygroup

现在将网站目录的所有权交给这个新组。cd到您网站的目录,然后

代码语言:javascript
运行
复制
sudo chown -vR :mygroup .

向群组授予写入权限

代码语言:javascript
运行
复制
sudo chmod -vR g+w .

检查以确保更改在ls -ld中生效,以查看文件的所有者和权限,以及groups myuser www-data以查看两个用户是否确实都在mygroup中。

然后,确保重新初始化用户环境,以便更新来自新组的权限

代码语言:javascript
运行
复制
newgrp - mygroup

您可能需要注销并重新登录,以便在GUI中更新用户环境。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70028260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档