問題は、PHPファイルがブラウザで機能しないことです。ユーザーにread
権限がないためと思われます。
ファイルは「ajax」というディレクトリにあります
drwxrwxrwx. 2 root root 4096 Sep 13 14:33 ajax
そのディレクトリの内容:
-rwxrwxrwx. 1 root root 13199 Sep 13 14:33 getOrderDeliveryDates.php
-rwxrwxrwx. 1 root root 20580 Sep 13 14:33 getParcelShops.php
-rwxrwxrwx. 1 root root 1218 Sep 13 14:33 index.php
-rwxrwxrwx. 1 root root 814 Sep 13 14:33 lang.php
-rwxrwxrwx. 1 root root 6001 Sep 13 14:33 prod_reviews.php
Rootとしてログインすると100%確実です。
[root@accept: nl (MP-git-branch)] $
コマンドid
でダブルチェック:
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
それは私にナッツを運転しています。
sudoを試しました(私はすでにrootですが)。
Sudo chmod 777 filename
chownを試してみました(私は既に所有者ルートですが)。
Sudo root filename
エラーや警告はまったくありません。
OSはCentOS 6
CentOS(および他のFedora/RHEL派生物)は、SELinuxと呼ばれる追加のセキュリティメカニズムを有効にします。ほとんどのシステムデーモンに追加の制限が適用されます。これらの追加の制限は、通常のUNIXアクセス許可の後にチェックされます。
デフォルト以外の構成の場合、多くの場合、SELinuxを調整する必要があります。ファイルには、SELinuxがセキュリティポリシーを適用するために使用する特定のセキュリティラベルが含まれています。問題が一部のファイルでのみ発生する場合は、問題のあるファイルのSELinuxラベルを修正する必要があります。 chcon
を--reference=
オプションとともに使用して、問題のあるファイルに同じラベルを適用するように機能するファイルからラベルをコピーします。
chcon --reference=<path to working file> <path to not working file(s)>
ファイルが標準以外の場所にある場合は、ファイルラベル付けデータベースにルールを追加する必要があります。これにより、次にファイルシステムのラベルが変更されたとき、またはrestorecon
が使用されたときの問題が回避されます。ラベル 適切 を選択するか、すでに適用されているラベルを使用します(ls -lZ
で既存のセキュリティラベルを確認してください)。
semanage
を使用して、/path/to/directory
とその内容のラベル付けルールを追加します。
semanage fcontext -a -t httpd_user_rw_content_t '/path/to/directory(/.*)?'
ファイルが別のファイルシステムにある場合は、マウントポイントに適用する context
option を使用できます/デフォルトのラベルを上書きします。