尝试写入 apache 用户和组的 system/cache
目录时出现权限被拒绝错误(通过网络浏览器从 HTTP :80 调用)
我的文件夹权限设置如下:
[ec2-user@ip-172-31-45-8 system]$ ls -lah
total 48K
drwxrwsr-x 10 ec2-user www 4.0K Nov 24 05:05 .
drwxrwsr-x 7 ec2-user www 4.0K Nov 24 04:59 ..
drwxrwsr-x 2 ec2-user www 4.0K Nov 24 05:05 cache
drwxrwsr-x 2 ec2-user www 4.0K Nov 24 04:03 database
drwxrwsr-x 2 ec2-user www 4.0K Nov 24 04:03 engine
-rw-rw-r-- 1 ec2-user www 924 Nov 24 04:03 file_merge.php
drwxrwsr-x 2 ec2-user www 4.0K Nov 24 04:03 helper
drwxrwsr-x 2 ec2-user www 4.0K Nov 24 05:02 library
drwxrwsr-x 3 ec2-user www 4.0K Nov 24 04:53 plugins
-rw-rw-r-- 1 ec2-user www 3.3K Nov 24 04:03 startup.php
Apache 组的设置如下(我意识到将 apache 设置为根组不是一个好主意,但出于测试目的......):
[ec2-user@ip-172-31-45-8 system]$ groups apache
apache : www root wheel ec2-user apache
[ec2-user@ip-172-31-45-8 system]$ groups ec2-user
ec2-user : ec2-user wheel apache www
我有一个脚本尝试写入 system/cache/
目录,该目录的权限设置为 rwx
的 ec2-user
和www
。 Apache 配置为使用:
User apache;
Group apache;
更改配置以使用 www
组修复了问题,但我很困惑为什么我无法让它与组 apache
一起工作??
User apache;
Group www;
我不明白Linux上的小组工作方式吗?
最佳答案
我不是熟练的 Linux 或 AWS 用户,但请尝试将 apache 用户添加到 www 组:
sudo usermod -a -G www apache
然后重新启动apache:
sudo service httpd restart
或
sudo service apache2 restart
然后确认apache是www组的一部分
grep 'www' /etc/group
这似乎解决了我的问题。仅供引用,我按照 these instructions 设置了我的 EC2 服务器.
关于linux - AWS亚马逊Linux EC2实例: apache user permission denied for write to directories,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27098422/