Dom*_*Dom 5 php apache file-permissions
我试图理解为什么在我设置权限000并赋予文件root权限后,Apache仍能够提供PHP文件.
如果我创建一个由具有权限644的Web服务器拥有的PHP文件,则其服务正确.如果我然后将权限更改为000并将所有权更改为root,则仍然会提供该文件,但我不认为它应该是!
如果我然后重新启动Apache,则不提供该文件.我得到500并且错误日志抱怨无法打开文件,这正是我期望的行为.
重新启动后,当文件未被提供时,如果我将所有权更改回网络服务器并将权限更改回644,则会再次提供该文件,而无需重新启动apache.
此行为仅适用于PHP文件.HTML文件的行为与我期望的一样,只要您删除权限,就不会提供文件.
有人告诉我,Apache可能正在维护PHP文件的文件句柄,并且在重新启动之前它没有看到权限更改.我已经尝试在文件上使用lsof,但没有看到任何打开的文件描述符.
我还尝试并试验了我从哪里开始使用webserver所有权和644权限,并检查了文件是否可以提供服务.然后我重命名了该文件,将权限更改为000并将所有权更改为root,然后将文件移回.在此之后,该文件仍然由Apache提供.
任何人都可以了解这里发生的事情吗?