两个相同的文件; 阿帕奇说一个是禁止的

我有这个文件,favicon.ico。 这实际上是一大堆嵌套文件,但是纯粹就是这个。

如果我做的cp favicon.ico favicon2.ico ,Apache可以读取第二个就好了。

如果我做mv favicon.ico favicon3.ico ,Apache会在favicon3.ico上抛出一个403。

如果我su apache ,我可以读取文件为apache。

stat说这两个文件是相同的,除了inode号码。

有一些隐藏的国旗或者我失踪的东西吗? 我从来没有见过这样的事情。

error_log(13)Permission denied: access to /favicon3.ico denied

SELinux拒绝你访问文件,因为你移动了,而不是从文件系统的其他地方复制到它的最终位置。 因此,它保留了原来的安全上下文,这使得Apache不能访问它。

要解决这个问题,请重新标记文件(可能还有其他所有文件)。

例如:

 restorecon -r -v /var/www/html 

为了避免将来出现问题,请复制文件(并在必要时删除原件)。