你好,这里有全新的设置。
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 目录上可能存在一些剩余的权限锁,我无法真正确定阻碍我的具体原因,但执行解决方法可以解除我的阻碍,我现在可以继续工作了。
我希望这对某人有帮助。