除了另一个用户之外,还将用户添加到所有权

除了另一个用户之外,还将用户添加到所有权

我在权限方面遇到了一些问题,我网站的程序员希望我将 admin 用户添加到 apache 组,然后设置一些权限。由于我对Linux的了解比较有限,所以在网上找到了以下内容:

chown -R apache:apache /path/to/webserver/www 
chmod -R g+rw /path/to/webserver/www

这工作得很完美,几天后一切都很好(顺便说一句,我使用“apache”而不是 www-data,因为我在 CentOS 上)。现在,他们说他们无法将文件上传到该文件夹​​,因为它由 apache 用户拥有,而他们希望它由 apache 和管理员用户拥有。

除了“apache”之外,如何将“admin”添加到所有权中?

谢谢

答案1

从传统意义上来说,只有一个用户可以拥有一个文件。但在现代 UNIX 系统上,可以使用另一种措施 - 访问控制列表或 ACL:s。

ACL:s 基本上是除了传统的用户/组/其他权限之外的读、写和执行访问的附加控制。

要为 apache 组中的所有用户添加写入权限(无论文件权限如何),您可以设置目录的 ACL 以允许 apache 组的所有成员进行写入,并为该目录中创建的所有文件继承该权限。

sudo setfacl -d -m g:apache:rw /path/to/webserver/www

还要确保现有文件获得相同的权限:

sudo setfacl -m g:apache:rw /path/to/webserver/www/*

有关详细信息,请参阅man setfaclman getfacl

相关内容