将owner:group和770 chmod设置为apache2创建的文件

将owner:group和770 chmod设置为apache2创建的文件,apache2,umask,Apache2,Umask,我想配置apache以创建具有个性化所有者:group和chmod的文件。 我有一个需要apache+(ftp)用户操作的网站文件夹 实际上我做了一个(其中“mygroup”是一组ftp用户) 但是,当apache2操作文件并创建文件或文件夹时,它们 -rw-r--r--1 www数据www数据 有没有关于配置apache2的想法 编辑:Debian 6看起来您正在openSUSE或SLES下工作。 如果是这样,请查看文件/etc/apache2/uid.conf 对于乌玛斯克:实际上不确定。当

我想配置apache以创建具有个性化所有者:group和chmod的文件。 我有一个需要apache+(ftp)用户操作的网站文件夹

实际上我做了一个(其中“mygroup”是一组ftp用户)

但是,当apache2操作文件并创建文件或文件夹时,它们

-rw-r--r--1 www数据www数据

有没有关于配置apache2的想法


编辑:Debian 6

看起来您正在openSUSE或SLES下工作。 如果是这样,请查看文件
/etc/apache2/uid.conf

对于乌玛斯克:实际上不确定。当然,有效的方法是在apache用户主目录下创建一个.profile文件,并在其中设置umask。但我打赌有一个更优雅的解决方案

没有真正好的方法可以做到这一点。Apache的库存版本没有一种机制可以在每个请求的不同用户下生成工作人员。它的所有工作人员都在用户下操作,因此不能像其他人那样编写文件


也就是说,有一些方法可以解决这个问题

第一种方法要求您以root用户身份运行Apache。Apache位于您的服务器上,它是在一个没有特权的用户下运行的。非特权用户无法更改其运行的用户。只有以root身份运行的进程才能做到这一点。如果您愿意以root用户身份运行Apache,那么可以使用多进程mod。它允许您在不同的用户(在配置中定义)下运行每个VHOST。这意味着您现在还需要为每个用户设置他们自己的VHOST。这种方法是可行的,但这样做会牺牲一点安全性


第二种更安全但更“黑客”的方法是为每个用户运行全新的Apache版本。因此,您有一个Apache,它有自己的一组仅用于userA的配置文件,另一个Apache有自己的不同且单独的一组仅用于userB的配置,等等。Apache的每个实例都可以在不同的端口上侦听(即userA侦听端口8080,userB侦听端口8081…)。然后,您可以使用某种前端反向代理对其进行排序,并将流量路由到适当的Apache实例

呃,不知道如何破解或暗示?有两种方法,现在我真的想了想。虽然他们有点不安。我会更新我的答案!谢谢。(抱歉,我编辑了这个问题:我在Debian 6上)我没有/etc/apache2/uid.conf文件。
chown www-data:mygroup -R /my/website/files
chmod 770 -R /my/website/files