将httpd作为不同的用户运行?

问题描述 投票:0回答:1

我在Amazon Linux 2上的aws ec2实例上运行httpd。

为了安装LAMP堆栈,我使用了this link.实例运行完美。

我需要使用shell_exec('sh somescript')从php执行shell命令。该脚本然后实习生使用sudo mkdir foldername创建一个文件夹。永远不会创建此文件夹。所以,我直接写shell_exec('sudo mkdir foldername')。不行。

我试过shell_exec('whoami')。这输出apache(因为我从安装中创建的组。)

我试过的其他事情:

  • 更改目录的文件夹和子文件夹的权限和所有权。 (没用)。
  • httpd.conf中更改用户和组。(如果我使用ec2-user,则给出错误503,如果我使用root,则无法启动,这会引起注释要求。)

我的问题 :

  1. 当ecd-user是apache组的用户时,当httpd作为apache用户/组运行时,为什么我无法从php创建文件夹?
  2. 将httpd与ec2-user一起用作用户和组是否安全?如果是这样的话?如果不是替代品是什么?
php apache permissions httpd.conf
1个回答
0
投票

我能够自己解决这个问题。为了将来参考,我所做的只是重新启动实例和所有服务。

我没有必要为httpd更改用户或组。虽然我仍然不确定它是否安全,但我能够在没有它的情况下绕行。

© www.soinside.com 2019 - 2024. All rights reserved.