以其他用户身份运行httpd吗?

时间:2019-02-22 06:37:38

标签: php apache permissions httpd.conf

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

我使用this link.来安装LAMP堆栈,该实例运行良好。

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

我尝试了shell_exec('whoami')。输出apache(由于我是从安装中创建的组。)

我尝试过的其他事情:

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

我的问题:

  1. 当ec2-user是apache组的用户时,当httpd以apache用户/组运行时,为什么不能从php创建文件夹?

  2. 以ec2-user作为用户和组使用httpd是否安全?如果可以,怎么办?如果不是,那是什么?

1 个答案:

答案 0 :(得分:0)

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

我不必更改httpd的用户或组。尽管我仍然不确定这样做是否安全,但是没有它我还是可以解决的。