我目前正在从 Ubuntu 18.04 VirtualBox 切换到 WSL。
一切都已启动并运行,以拥有完整的 Web 开发环境。
不幸的是,文件权限和所有权现在对我来说是一个问题。
---免责声明---
我知道在服务器环境中这会非常糟糕并且不会被完成。
这仅适用于我本地的开发过程,并且此要求将保留在那里。
我想要实现的是,在我的 /var/www (以及下面的所有内容)中拥有一组一致的权限和所有权。
- /var/www 中的每个元素都应该由我的 shell 用户拥有,无论是文件还是目录。
- 每个元素都应该有组
www-data
以便网络服务器用户可以访问。
- 每个文件都应该有权限
0664
以及每个目录0775
.
- 每个新元素都应遵循这些要求。
到目前为止我研究过的内容:
如果我从 shell 或 VSCode 中创建新目录/文件,则会使用我的用户和组。
如果我从 Windows 资源管理器创建一个新目录,所有权是root:root
。尽管如此,我还必须弄清楚如何为新对象设置默认权限。
我只是想要一种易于使用的方法来从系统上的任何位置 CRUD 我的文件。
有人对此有想法吗?
非常感谢,达纳克。
编辑:将所有内容设置为也可以www-data:ww-data
并将我的 shell 用户添加到www-data
-group 如果像上面解释的那样应用权限。
根据this https://github.com/microsoft/vscode-remote-release/issues/1451#issuecomment-536724227,较新版本的 Remote-WSL 服务器在启动时将执行(如果存在):
~/.vscode-server/server-env-setup
~/.vscode-server-insiders/server-env-setup
(更多相关内容) https://code.visualstudio.com/docs/remote/wsl#_advanced-environment-setup-script
所以解决方案是执行:
# this will affect folders created from the editor
mkdir -p ~/.vscode-server/ && echo "umask 002" >> ~/.vscode-server/server-env-setup
mkdir -p ~/.vscode-server-insiders/ && echo "umask 002" >> ~/.vscode-server-insiders/server-env-setup
# this will affect folders created from terminals
echo "umask 002" >> ~/.bashrc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)