Httpd

很奇怪的AH00035錯誤

  • January 27, 2021

我在這裡是因為我的伺服器上有一個非常奇怪的行為,並且我曾經調查 AH00035 錯誤幾個小時。

在我的伺服器上,如果我創建一個簡單的 php 文件index.php

<? php echo "Hello world" ?>

我可以到達它。

當我使用 sftp 上傳的完全相同的文件時,我收到 AH00035 錯誤。但是當我複製文件並應用與以前完全相同的權限和使用者組時,我不再有錯誤了。

這是場景:

1 - 使用 sftp 上傳文件

2 - 檢查文件的權限

-rw-r--r--.  1 SFTP_JOR_USER sftp_users index.php

3 - 將文件移動到我的 html 目錄

4 - 試圖訪問文件:AH00035

5 - 更改使用者

chown apache:apache index.php

6 - 試圖訪問文件:AH00035

這是奇怪的部分

7 - 複製文件

cp index.php index2.php

8 - 檢查權限

-rw-r--r--.  1 root   root index2.php

9 - 訪問 index2.php : Hello world (NICE !)

10 - 嘗試在根目錄下創建 index.php

chown root:root index.php

11 - 試圖訪問 index.php:AH00035

12 - 更改 index.php 和 index2.php 使用者

chown apache:apache index.php
chown apache:apache index2.php

所以,最後,我有完全相同的文件,具有完全相同的內容和完全相同的權限。

一個導致 AH00035 錯誤。另一個是可以訪問的。

我真的不明白這裡發生了什麼。是因為通過 sftp 上傳它們嗎???

我真的不想複製我的文件,然後重命名它們,然後每次我對我的開發進行更改時更改使用者組。

提前致謝

原始文件從主目錄移動到 web 目錄而不是複制它,因此文件的 SELinux 上下文是錯誤的。移動文件時,預設情況下會保留其 SELinux 上下文。

您可以通過以下任何方式解決此問題:

  1. 文件從您的主目錄複製到 web 目錄(然後根據需要刪除原始文件)。新文件將具有不同的 SELinux 上下文。
  2. 移動文件mv -Z以將 SELinux 上下文重置為目標的預設值。
  3. 使用 SFTP 將文件直接上傳到其目標目錄,而不是您的主目錄。

引用自:https://serverfault.com/questions/1051399