使用 SSH,我已使用以下命令授予对我的 SFTP 客户端用户“ec2-user”的访问权限:
sudo chown -R ec2-user/var/www/html
但是我还需要授予对 Apache 的访问权限,我可以使用以下命令来完成:
sudo chown -R apache:apache/var/www/html
我以为这会授予对两者的访问权限,但事实并非如此。如何同时将命令应用于 ec2-user 和 Apache?
最佳答案
当您执行完 chown 命令后,您接下来要做的是:首先您将 /var/www/html
的所有者更改为 ec2-user
,并使用下一个命令将所有者和所有者组更改为 apache。您只能将一对 owner:owner-group 设置为文件或目录或其他任何内容。
你至少有两种方法来解决你的任务:
usermod -a -G apache ec2-user
- 这会将用户ec2-user
添加到apache
组,之后,确保,该权限允许apache
组成员根据需要操作文件和目录。- 在
/var/www/html
中创建一个子目录,所有者设置为ec2-user
,组设置为主要的apache
组,并使确保 Apache 可以访问它。您可以将其配置为 VirtualHost 以将其与原始 DocumentRoot 分开。
此外,您必须将 ec2-user
主目录设置为 /var/www/html
,因为即使它有权访问 /var/www/html
,不一定能访问/var
或/var/www
。
关于linux - AWS EC2 Linux 托管上的 Apache 和 SFTP 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37244180/