linux - IDE如何使/var/www内容可编辑

标签 linux apache permissions

我关注了这个link更改组/用户权限以将我自己添加到 www-data 组 但我仍然无法编辑/var/www 中的内容,特别是上传的内容。

这是我的开发环境,我不想每次上传时都去 chmod/var/www/。

虽然将内容保存在/var/www 下,但更改/var/www 目录权限以能够直接从 IDE 编辑内容的步骤是什么

我的登录帐户用户名和组名是debianaut:

 groups www-data
 www-data : www-data debianaut

 groups debianaut
 debianaut : debianaut www-data

我在进行这些更改后登录/退出。看起来很直接,如果我是 cretain 组的用户,我应该获得他们拥有的任何权限。

请帮忙解决这个问题

最佳答案

我怀疑您的问题是用户帐户有多个组,而默认组不是对该文件夹具有写权限的组。

虽然 Linux 允许您的用户访问多个组,但它不会同时提供对所有组的访问权限。以下是解决此问题的一些选项:

  • 更改在 shell 中运行时使用的组
  • 更改用户的默认登录组
  • 使用 ACL

外壳中的新组

为了在启动 shell 后以不同的用户身份操作,请使用 newgrp .

更改默认组

为了改变用户的默认组,编辑/etc/passwd ,或使用一个命令来完成这项工作(不确定是哪个命令,它可能因发行版而异)。

ACL

您可能更喜欢使用 ACL。请参阅 setfacl 的手册页和 getfacl . ACL(访问控制列表)是扩展权限。并非所有 Linux 系统都支持它们,但如果您的 Debian 系统不支持它们,我会感到惊讶。以下应将用户 debianaut 的读写执行权限添加到所有 /var/www :

setfacl -R -m u:debianaut:rwx /var/www

顺便说一下 - 你可以检查正在运行的进程(比如你的 IDE)的组 ID,使用 ps -o gid -p <pid> .

继承 ACL

关注帖子here导致继承 ACL 的答案。

答案叫做default手册页中的 ACL。以下将 denianaut 的 ACL 设置为在/var/www 中创建的文件的默认值:

setfacl -R -d -m u:debianaut:rwx /var/www

关于linux - IDE如何使/var/www内容可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18228351/

相关文章:

php - htaccess 重定向隐藏 php 扩展或传递参数

mysql - 使用 bash 脚本删除具有文件名模式的文件

c++ - 替代 Linux 上的 MS vsprintf_s?

php - 下载页面而不是通过 SSL 呈现

Apache mod_session_dbd - 有人让它工作吗?

symfony - 可以在 Symfony2 中使用不同的数据库凭据进行 Doctrine 迁移吗?

android - 只读文件系统

mysql - 撤销mysql数据库权限

linux - EEPROM : uevent generated infinite times in linux kernel 4. 4.0

linux - 在 nginx 和 lighttpd 之间,哪个最适合网络应用程序 (SaaS) 的需求,为什么?