处理来自文件和网络服务器的不同用户

Handle different users from file and web-server

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

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

我应该

这可以通过在这两个不同的用户之间共享同一个组来实现。 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 用户进行设置。

更新:

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