尽管将用户添加到目录所有者,但 /var/www 上的权限仍然被拒绝

尽管将用户添加到目录所有者,但 /var/www 上的权限仍然被拒绝

你好,这里有全新的设置。

ls -ld /var/www
drwxr-xr-x 3 www-data www-data 4096 Feb 25 18:10 /var/www

所以上面表明 /var/www 属于 www-data

然后我将当前用户添加到 www-data

sudo usermod -a -G www-data ahdee
groups ahdee
ahdee : ahdee sudo www-data

然而,当我在 /var/www 中尝试这样做时,仍然被拒绝权限。

echo "hi" > t.txt
mkdir test 

有点困惑,因为所有者是 www-data 并且 ahdee 属于该组,那么为什么我不能写入它?

提前致谢。

答案1

第一个“www-data”是文件的所有者,第二个“www-data”是组。

在中ls -l,第一个块显示访问权限:

drwxr-xr-x
d              it's a directory
 rwx           the owner www-data may read, write and enter the directory
    r-x        members of the group www-data (e.g. you) may read and enter,
               but not write in there (e.g. create a new file)
       r-x     others may read and enter, too, but not write.

因此,您必须更改权限,以便组成员可以写入: chmod g+w /var/www

答案2

我差点就打开一个类似的问题,对我来说这个修复没有用,但我找到了解决方法。

我的问题类似,只是 chmod g+w 为前 3 个目录修复了问题,但对最后一个目录不起作用。

/var/www/mysite.com/html

因此,当我进入这个线程时,我甚至无法在 www 目录中使用 www-data 用户创建一个文件,应用这里建议的命令使其在 www 和 mysite.com 中工作,但在 html 中它不起作用。

所以,我要做的是将 html 目录移动到占位符名称,然后我再次创建另一个目录,但这次使用 www-data 用户。

sudo -u www-data mkdir html

这可以创建目录,这并不奇怪,因为 chmod g+w 帮助用户访问该目录,但是然后我运行:

sudo -u www-data touch ./html/index.html

这个命令最终起作用了,所以在我重命名的 html 目录上可能存在一些剩余的权限锁,我无法真正确定阻碍我的具体原因,但执行解决方法可以解除我的阻碍,我现在可以继续工作了。

我希望这对某人有帮助。

相关内容