尝试写入apache用户和组的system/cache
目录时,我收到权限被拒绝错误(通过Web浏览器从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 Groups就是这样设置的(我认为将apache设置为root组并不是一个好主意,但出于测试目的......):
[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;
Chaning config使用www
组修复了问题,但我很困惑,为什么我无法让它与组apache
一起工作?
User apache;
Group www;
我不理解群组在linux上的工作方式吗?
答案 0 :(得分:2)
我不是熟练的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
这似乎纠正了我的问题。仅仅是一个FYI,我在these instructions之后设置了我的EC2服务器。