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

时间:2013-08-14 09:45:36

标签: 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 group的用户,我应该获得他们持有的任何权限。

请帮助解决此问题

4 个答案:

答案 0 :(得分:3)

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

虽然Linux允许您的用户访问多个组,但它不能同时访问所有组。以下是一些解决此问题的方法:

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

外壳中的新组

要在启动shell后以其他用户身份运行,请使用newgrp

更改默认组

要更改用户的默认组,请编辑/etc/passwd,或使用命令执行该作业(不确定哪个命令,它可能与分发不同)。

<强>的ACL

您可能更喜欢使用ACL。请参阅setfaclgetfacl的手册页。 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

答案 1 :(得分:2)

我认为您应该将umask更改为0002:

umask 0002

This也可能有用。

答案 2 :(得分:0)

对我来说,问题与joomla配置有关。您需要更改上载文件的默认权限。此链接可以为您提供帮助:http://forum.joomla.org/viewtopic.php?t=286584

答案 3 :(得分:0)

有两个相对简单的选项,它们都不应涉及www-data - 您不希望Web服务器对您的内容进行不必要的写访问。

1)只需将/ var / www的所有者用于编辑文件的用户ID。

2)建立一个新组,使其成为您的一个辅助组,并使/ var / www group-writable + setgid(chmod g + s)成为新组。 setgid目录中的新文件将其组设置为共享组。