因此,典型的情况是这样的:web 服务器(在本例中是 nginx)在 www-data 用户下工作。
然后还有“konrad”用户,他只是一个普通用户。
现在,整个网站(/var/www/html/cool-site)的所有者为:konrad,组为:www-data。
文件大多为 750。
这很好(我想)。但是……现在我遇到了另一种情况,另一个用户进来了。我们叫他“mike”。现在,我想要实现的是,他希望能够修改我拥有的文件,而我希望能够修改他拥有的文件。
或者更好的是 - 我作为管理员,想决定每个目录(?)、文件(?)只我(康拉德)或者只有他(迈克)或者我们俩都可以做出改变。
显然,我们都应该有权查看文件和浏览目录。
我当时的想法是:再创建另一个组,比如“common”。将“www-data”用户添加到此组。将我们俩(konrad 和 mike)添加到此组。每当我(或 mike)决定我们俩都应该对该目录/文件具有写权限时,我们都会将其 chown 到此组,并且权限将允许在那里写入。然后我意识到在这种情况下,www-data 将具有对这些目录/文件的写权限。
所以我被困住了。我相信有解决办法,但我什么也想不出来 :)
答案1
按照您的建议,创建另一个组,但不要添加www-data
到该组。
保留所有权限,然后添加扩展权限对于您想要按common
组修改的文件/目录:
setfacl -m g:common:rw filename ...
您可以在 中阅读更多内容man setfacl
。