我的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;
无法打开/编辑/删除这些文件。我该如何解决?有关更好配置的任何建议吗?
答案 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它。