我想使用任何编辑器(如 phpstorm 或 eclipse 等)编辑 /var/www 文件,而不更改 /var/www 的默认用户/组设置。
由于 phpstorm 是由脚本调用的,我不知道如何使 phpstorm 成为 www-data 组的一部分,以便它获得写入权限。
除此之外还有什么其他选择?
答案1
PhpStorm 应使用与运行/启动脚本的用户(您自己)相同的权限。将您自己添加到 www-data 组,或者建立一个新组。
假设您创建了一个名为“www-pub”的新组,并将自己添加到其中按照说明。
请记住注销并重新登录以使新的组成员身份生效。使用命令测试您的组成员身份groups
。
然后,更改/var/www
目录的权限,如下所示:
chown -R :www-pub /var/www
- 递归地将所有文件的组设置
/var/www
为“www-pub”
- 递归地将所有文件的组设置
chmod -R o+r /var/www
- 允许所有人(包括apache)读取其中的所有文件
/var/www
- 允许所有人(包括apache)读取其中的所有文件
chmod -R g+w /var/www
- 允许组成员写入所有文件
/var/www
- 允许组成员写入所有文件
find /var/www -type d -exec chmod g+s {} \;
- 设置新文件以保留它们在其中创建的目录组
如果您需要 apache 也能够写入文件(或读取文件而不向其他人提供读取权限),请将 apache 的用户(通常是“www-data”)添加到“www-pub”组。
另外,在 PhpStorm 的部署选项中,确保“覆盖(文件/目录)的默认权限”未选中或设置为允许按组写入。
此过程也适用于 IntelliJ IDEA/Webstorm。