首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向多个用户授予写权限?

问如何向多个用户授予写权限?
EN

Server Fault用户
提问于 2010-08-09 09:03:31
回答 3查看 18.3K关注 0票数 7

我有一个web服务器,我正在上传文件使用FTP客户端。因此,文件的所有者和组是从上传期间使用的用户获取的。

现在,我必须让web服务器(apache/apache)可以写这个文件。

一种方法是将上传文件的所有者和组更改为apache/apache,但这样我就不能使用FTP帐户修改文件。另一种方法是授予文件777权限。

这两种方法似乎都不是很专业,也有点冒险。还有其他选择吗?在Windows中,我只需向文件中添加另一个用户即可。类似的事情能在Linux上做吗?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2010-08-09 09:07:36

您可以更改文件组:

代码语言:javascript
复制
groupadd webusers
usermod -aG webusers the_user_name
chgrp -R webusers the_directory
chmod g+s the_directory

如果这是一个基于RedHat的发行版,您可以使用setfacl在没有组的情况下完成这一任务,并将其设置为默认情况:

代码语言:javascript
复制
setfacl -R -m user:the_username:rwx directory_name
setfacl -d -R -m user:the_username:rwx directory_name
票数 15
EN

Server Fault用户

发布于 2010-08-09 09:38:44

允许一组用户维护一组文件是一回事:您只需将它们添加到一个公共组中,并将现有文件和目录的所有权设置到该组中,然后在任何目录上设置粘性组位(在默认情况下,该组应将文件添加为可写文件)。

现在,我必须使这个文件可以被web服务器写入。

您需要非常小心和非常有选择性地确定哪些文件可由etc服务器写入,以避免出现代码注入问题--不要将webserver uid添加到上面定义的用户组中--将这些文件与网站上的其他内容完全分离(即在一个单独的目录中禁用所有cgi / php等),最好完全在文档根目录之外。大多数FTP服务器允许您设置上传权限(文件为0666,目录为0777 )和/或设置目录上的其他粘性位。

结果表明,C.

票数 2
EN

Server Fault用户

发布于 2010-08-09 12:39:32

要使setfacl工作,分区必须使用“acl”选项挂载。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/168400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档