处理文件和Web服务器

时间:2015-07-10 18:09:57

标签: php nginx sftp

我有一个debian环境,php-fpm作为用户www-data运行在nginx后面。我通过sftp将文件作为其他用户(user1)帐户上传。

现在我遇到了权限冲突的问题,因为有些文件有www-data作为所有者,有些文件有user1作为所有者,我想知道如何解决这个问题。

我应该

  • 为此用户创建自己的php-fpm池或
  • 来自www-data的用户是否可以访问user1文件,反之亦然
  • 是否可以自动将上传文件的用户更改为www-data

1 个答案:

答案 0 :(得分:0)

这可以通过在这两个不同用户之间共享相同的组来实现。 Nginx可以在特定用户和组下运行,目录权限可以在该组内传播权限。

有很多变化。最简单的方法是将user1放入www-data组(假设www-data用户有自己的www-data组):

useradd -g www-data user1   # make www-data group default for this user
id user1                    # you will see this user has a different default group

请记住,php和nginx不需要配置不同,请通过www-data user设置它们。

更新:

Setuid 可以提供相同的功能,而无需担心user1的大量组。在此处查看更多详细信息:https://en.m.wikipedia.org/wiki/Setgid