使用PHP-FPM的nginx&#39根文件夹的Linux权限/所有者

时间:2015-08-22 15:42:08

标签: php linux nginx

我的nginx的根文件夹mark归root:root所有,但我需要使用我的用户/usr/share/nginx/html/userfiles添加/编辑/删除文件。另外,我使用PHP和fastcgi(php-fpm),我需要在特定目录sudo groupadd webdev; sudo usermod -a -G webdev mark; sudo chown root:webdev /usr/share/nginx/html; sudo chmod 2775 /usr/share/nginx/html -R; sudo chgrp -R www-data /usr/share/nginx/html/userfiles; 上传文件。我目前的配置如下:

/usr/share/nginx/html/userfiles

我发现了有关上传文件的一些问题(它们是在mark中正确创建的,但我的用户@Resource(name = "java:/comp/env/jdbc/testDB") protected DataSource ds; 无法打开/编辑/删除这些文件。我该如何解决?有关更好配置的任何建议吗?

1 个答案:

答案 0 :(得分:2)

通过拥有一个公共组,但文件和目录,您可以共享对文件的访问权限 您创建的必须属于该组,并且还可以读/写该组。

由PHP创建的文件我假设将在www-data组中,但除非您更改/etc/init/php-fpm.conf中的umask,否则可能没有组写权限。添加一行:

umask 0002

如果您的ID在其组中包含www-data,您将能够编辑该文件。

如果你创建一个文件,它将不在www-data组中,但可能是你的 自己的小组mark。因此,如果您希望PHP即www-data能够编辑它 通过对称,您需要将文件发送到usermod -a -G mark www-data,并确保何时创建 它们被读/写到组中的文件(umask 2和check或chmod g + w)。

确保目录用户文件是rwx到组www-data,或chmod g + rwx它。