Ubuntu www-data 组对新创建文件夹的权限

Ubuntu www-data 组对新创建文件夹的权限

userA and www-data我的组中有 2 个用户www-data,在我的 Web 服务器上,我有创建文件夹和文件的 php 脚本

<?php
mkdir('dynamicDir');
file_put_contents('dynamicDir/z.txt', 'test');

输出权限

drwxr-sr-x  2 www-data www-data   4096 Aug 19 23:33 dynamicDir

但是当我使用用户在 shell 上运行 python 脚本时userA

import os
os.remove('dynamicDir/z.txt')

我收到错误

Traceback (most recent call last):
  File "p.py", line 4, in <module>
    os.remove('dynamicDir/z.txt')
PermissionError: [Errno 13] Permission denied: 'dynamicDir/z.txt'

对于已经创建的文件夹/文件我可以使用chmod -R g+rwx mydir/parentOfMyDir,但对于动态目录如何使用?

答案1

我找到了两个解决方案:

  1. 更改php-fpm用户/etc/php/7.4/fpm/pool.d/www.conf

user = www-data
group = www-data

user = userA
group = www-data

更改文件夹的权限web rootsession如果有)

chown -R userA:www-data /var/www/html
chown -R userA:www-data /var/lib/php/sessions
  1. 使用setfacl阅读更多

相关内容