Linux permissions/owner 用于 nginx 的根文件夹 PHP-FPM
Linux permissions/owner for nginx's root folder with PHP-FPM
我的 nginx 根文件夹 /usr/share/nginx/html
归 root:root 所有,但我需要 add/edit/delete 我的用户 mark
的文件。此外,我正在使用 PHP 和 fastcgi (php-fpm),我需要在特定目录 /usr/share/nginx/html/userfiles
中上传文件。我当前的配置如下:
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
不能 open/edit/delete 这些文件)。我该如何解决?对更好的配置有什么建议吗?
您通过共同群组共享对文件的访问是正确的,但是文件和目录
您创建的必须属于该组,并且也是该组的 read/write。
由 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
,并确保你创建的时候
文件 read/write 到组(umask 2 并检查或 chmod g+w)。
确保目录 userfiles 是组 www-data 的 rwx,或者 chmod g+rwx 它。
我的 nginx 根文件夹 /usr/share/nginx/html
归 root:root 所有,但我需要 add/edit/delete 我的用户 mark
的文件。此外,我正在使用 PHP 和 fastcgi (php-fpm),我需要在特定目录 /usr/share/nginx/html/userfiles
中上传文件。我当前的配置如下:
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
不能 open/edit/delete 这些文件)。我该如何解决?对更好的配置有什么建议吗?
您通过共同群组共享对文件的访问是正确的,但是文件和目录 您创建的必须属于该组,并且也是该组的 read/write。
由 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
,并确保你创建的时候
文件 read/write 到组(umask 2 并检查或 chmod g+w)。
确保目录 userfiles 是组 www-data 的 rwx,或者 chmod g+rwx 它。