我相信我已经build立了一切正确的时候,我已经build立了服务器(也许这是一个预先configuration的LAMP VPS主机Linode提供的设置)
似乎每个Apache进程在用户nobody下运行,这是我在configuration中想要的,但是较低的PID(运行时间最长的Apache进程)仍在root下运行,我的PHP脚本似乎将当前用户报告为root在phpinfo()中询问。
这是由于根可能产生Apache的事实,并且它的孩子在定义的nobody用户下根据其configuration正确产卵? 是否通过Apache根进程处理任何实际的页面,还是只有父级?
我有点担心,但是用一个新的头脑来开始一个新的Apache来解决这个问题,如果这只是一个configuration不当的事情,那么这个问题就没有问题了。
一些额外的信息编辑:$ _SERVER ['user']是根即使$ _SERVER ['apache_run_user'](类似于)显示www数据(即使不是没有人),我不确定这是PHP的错,也许我会尝试在PHP中编辑一个根文件,看看..
编辑2:不,PHP不能编辑根文件。 猜猜$ _SERVER ['用户'](和一个hacky审计脚本)是错误的假设PHP是根。 仍然在怀疑Apache的过程。
这是由于根可能产生Apache的事实,并且它的孩子在定义的nobody用户下根据其configuration正确产卵?
是。
是否通过Apache根进程处理任何实际的页面,还是只有父级?
不,没有页面通过根进程进行处理,是的,它只是在那里有一个父母。 由于以下原因,需要这样做。
Apache绑定到一个特权端口(也就是一个低端的端口,最大为1023),大部分是80或443.你需要是root用户才能绑定到特权端口,这就是为什么他们被称为“特权端口”的原因。
如果你检查你的主要sshd进程,你会看到这个进程也以root身份运行。 现在通过SSH连接。 赔率是你个人的sshd程序,从主程序分叉,运行在你自己的,没有特权的帐户下。