/var/www/public_html 中的权限被拒绝。我是 www-data 的成员

/var/www/public_html 中的权限被拒绝。我是 www-data 的成员

嗨,刚刚在 Ubuntu 20.04 上安装了 Apache2。将自己添加到 www-data 组。 id prateek

uid=1000(prateek) gid=1000(prateek) groups=1000(prateek),4(adm),24(cdrom),27(sudo),30(dip),33(www-data),46(plugdev),120(lpadmin),131(lxd),132(sambashare)

改变了/var/www/bihag.moops/public_html 的所有权和权限。

ls -l /var/www/bihag.moops/ 
total 4 
drwxrwxr-x 3 www-data www-data 4096 Aug 11 07:58 public_html

public_html 里面的文件夹也属于同一组。

ls -l /var/www/bihag.moops/public_html/
total 8
-rwxrwxr-x 1 www-data www-data  191 Aug 11 07:54 index.html
drwxrwxr-x 2 www-data www-data 4096 Aug 11 07:59 logs

仍然无法写入public_html。即使我是同一个组的成员。为什么会有这种歧视?

touch home.php
touch: cannot touch 'home.php': Permission denied

笔记:即使这是一台本地机器。我也不想使用 777 权限。

此外:

lsattr /var/www/
--------------e----- /var/www/bihag.moops
--------------e----- /var/www/html

lsattr /var/
--------------e----- /var/mail
--------------e----- /var/log
--------------e----- /var/www

答案1

您可能需要检查扩展属性/var/www及其子目录),如下所示:

$ lsattr /var/www # or /var/www/bihag.moops, or /var/www/bihag.moops/public_html

如果i设置了(不可变)属性,例如,您会看到类似的内容:

----i--------------- /var/www

那么这就可以解释为什么即使具有正确的权限,您也无法在目录中创建新文件。在这种情况下,您可以i通过执行以下操作来删除该属性:

$ sudo chattr -i /var/www # or /var/www/bihag.moops, or /var/www/bihag.moops/public_html

相关内容