无法为 Web 文件设置恒定权限

无法为 Web 文件设置恒定权限

我在 /var/www/html/ 文件夹中建立了 4 个网站。

  • hbf 服务器
  • 血流密度
  • 转换函数
  • 2e

我用来访问服务器的帐户是通过我的帐户harleyfrank

现在权限是 root:www-data 755,应该是递归的。但是,当我从我的帐户 harleyfrank 上传数据时,它只为我设置了许可,并且我因权限问题收到 apache 错误。

我关注了以下网站:

但奇怪的是,它只将 harleyfrank:www-data 的读写权限应用于 harleyfrank。我不知道如何修复它。

更新日期:2018 年 1 月 15 日

根据 George 的回答,我尝试进行全局设置sudo setfacl -d -R -m u:root:rwx,g:www-data:rw,o::r /var/www/html,但是它没有应用权限。上传文件时它仍然只使用我的用户名。

以下是 ACL 设置的权限:

getfacl: Removing leading '/' from absolute path names
# file: var/www/html
# owner: root
# group: www-data
user::rwx
group::rwx
other::r-x
default:user::rwx
default:user:root:rwx
default:group::r-x
default:group:www-data:rw-
default:mask::rwx
default:other::r--

在我创建的其中一个网络文件夹中ls -la,结果如下。

drwxrwxr-x+ 3 root        www-data    4096 Jan 15 19:52 .
drwxrwxr-x+ 6 root        www-data    4096 Jan 12 21:35 ..
-rwxrwxr-x  1 root        www-data     169 Jan 12 22:05 index.html
drwxrwxr-x+ 9 root        www-data    4096 Jan 12 23:16 projects
-rw-rw-r--+ 1 harleyfrank harleyfrank  871 Jan 15 19:52 test_results.txt

我上传了 test_results.txt,但 apache 无法读取,因为它说我没有查看文件的权限。但是,它显示其他组中有读取权限。也许 apache2 正在使用 www-data 运行所有内容?

答案1

要修复此问题,请使用setfacl命令设置权限和默认所有者:

sudo setfacl -d -R -m u:harleyfrank:rwX,g:www-data:rwX,o::r /var/www/html

信息:

  • -d:设置为默认值,因此新文件夹将自动继承它
  • -R:递归
  • -m:修改现有的权限和所有权
  • u:harleyfrank:rwX:向用户提供root rwx文件夹和文件
  • g:www-data:rwX:授予用户www-data文件夹的 rwX权限
  • o::r:授予其他人read文件夹权限

相关内容