3

我按照此链接更改组/用户权限以将自己添加到 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 组的用户,我应该获得他们拥有的任何权限。

请帮助解决这个问题

4

4 回答 4

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

跟随这里的帖子会导致继承 ACL 的答案。

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

setfacl -R -d -m u:debianaut:rwx /var/www
于 2013-09-04T06:00:07.753 回答
2

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

umask 0002

也可能有用。

于 2013-08-14T09:50:02.143 回答
0

有两个相对简单的选项,它们都不应该涉及 www-data ——您不希望网络服务器对您的内容具有不必要的写入权限。

1)只需将 /var/www 的 ownershop 作为您将编辑文件的用户 ID。

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

于 2013-08-31T16:56:35.707 回答
0

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

于 2013-08-14T10:04:16.420 回答