我刚刚设置了我的第一个 AWS EC2 服务器实例,但遇到了上传图片脚本的权限问题。
“var/www”(和所有子目录)所有者是“ec2-user”,但是 apache 服务器以“apache”身份运行。
因此,由 php 脚本(使用 mkdir)动态创建的所有目录都将 'apache' 作为所有者(它似乎没有写权限)
我当然可以将 apache 用户更改为“ec2user”,但我担心这可能存在安全风险。这样做的正确方法是什么?
谢谢你的帮助。
最佳答案
为 Apache Web 服务器设置文件权限
1- 使用以下命令将 www 组添加到您的 EC2 实例:
[ec2-user ~]$ sudo groupadd www
2- 将 ec2-user 用户添加到 www 组:
[ec2-user ~]$ sudo usermod -a -G www ec2-user
3- 要刷新您的权限并包含新的 www 组,请注销:
[ec2-user ~]$ exit
4- 重新登录并验证 www 组是否与组一起存在:
[ec2-user ~]$ groups
> ec2-user wheel www
5- 更改
/var/www
的组所有权目录及其内容到 www 组:[ec2-user ~]$ sudo chown -R root:www /var/www
6-更改
/var/www
的目录权限及其子目录以添加组写入权限并在将来创建的子目录上设置组 ID:[ec2-user ~]$ sudo chmod 2775 /var/www
[ec2-user ~]$ find /var/www -type d -exec sudo chmod 2775 {} +
7- 递归更改
/var/www
中文件的权限目录及其子目录添加组写权限:[ec2-user ~]$ find /var/www -type f -exec sudo chmod 0664 {} +
关于amazon-web-services - EC2 用户权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27611608/