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
我找到了两个解决方案:
- 更改
php-fpm
用户/etc/php/7.4/fpm/pool.d/www.conf
从
user = www-data
group = www-data
到
user = userA
group = www-data
更改文件夹的权限web root
(session
如果有)
chown -R userA:www-data /var/www/html
chown -R userA:www-data /var/lib/php/sessions
- 使用
setfacl
,阅读更多