以apache用户身份运行的php脚本的文件权限


file permissions for php scripts which runs as apache user

我认为我不完全理解组和用户。我已经确定php以用户apache 的身份运行

我的服务器上有两个文件,但其中我可以毫无问题地运行。以下是文件权限。

-rwxrwxr-x  1 staging staging     2100 Sep  6 14:47 hardware.php
-rwxrwxr-x  1 staging apache        69 Dec  5  2012 ipn.php

是hardware.php能够运行的唯一原因是它拥有everyone的读取和执行权限。php需要运行什么?

此外,我有一个文件夹migrations,具有以下权限。

drwxrwxr-x  2 staging apache      4096 Dec 17 12:45 migrations

我之所以可以写这个,是因为该组是apache,并且该组具有写权限吗?

我仍然有点被用户和团体弄糊涂了。我知道组可以包含用户的集合,但我不确定在哪里查找信息。

apache是用户还是组?

php需要运行什么?

它需要其中之一:

  • 每个人的读取权限(chmod o+r
  • 文件属于用户apachechown apache
  • 文件属于组apachechgrp apache

我之所以可以写这个,是因为该组是apache,并且该组具有写权限吗?

是的。

apache是用户还是组?

通常有一个组具有相同名称的用户。

我将所有Apache web文件设置为644,将目录设置为755。查看此有用的指南:http://www.cyberciti.biz/faq/how-linux-file-permissions-work/

644意味着文件由文件的所有者可读和可写,并且由该文件的组所有者中的用户可读。

755是一样的,它只是为每个人设置了执行位。需要执行位才能更改到目录中。这就是为什么目录通常设置为755。

Apache是一个名为Apache的组中的用户。