我有一个运行linux的虚拟web服务器,在该服务器上我有一位名为"用户";。这也是用户,当我使用sshfs装载web服务器的目录时使用它。遗憾的是,这个用户不能为我正在工作的网站编写任何文件,只有用户www数据可以这样做。如果我使用:chown -R user:user ./
来更改所有者,则允许我将数据更改为"0";用户";,但现在该网站已无法在网络浏览器中打开。因此,在编辑完文件后,我不得不将文件的所有者改回,这非常乏味。
我已经添加了用户";用户";到www数据组,但这不会改变任何内容。
我怎么能在某种程度上设置一切;用户";可以编辑文件以及www数据吗?
您需要更改文件的权限,以便允许同一组的成员进行写入。可以使用chmod g+w -R ./
命令执行此操作,这适用于现有文件。
但是,您会注意到,新创建的文件将在所有者设置为user:user
的情况下创建,这仍然会拒绝对www-data
的访问。您可以通过如下设置默认ACL来更改此行为:setfacl -R -d -m g:www-data:rw ./
setfacl选项的意思是:
-R
递归-d
操作应用于默认ACL-m
修改ACLg:www-data:rw
将组默认设置为www-data
,并设置组读写权限