Fedoraが私のホームディレクトリへのシンボリックリンクを入力した後にhttpdでエラーが発生するのはなぜですか?

Fedoraが私のホームディレクトリへのシンボリックリンクを入力した後にhttpdでエラーが発生するのはなぜですか?

OSの変更後、アプリケーションを再度有効にしました。もちろん、シンボリックリンクは/var/www/myappにあります。権限を0775(または一時0777)に変更し、所有者をapache:myuser、myuser:apache、myuser:myuser、およびapache:apacheに変更してSELinuxを無効にします。今十分です。何も動作せず、まだ迷惑なメッセージが表示されます。

禁止このサーバーにアクセスする権限がありません。

エラー履歴:

[クライアント 127.0.0.1:38050] AH00037: シンボリックリンクが許可されていないか、リンク先にアクセスできません: /var/www/myapp

私はこの状況に怒りすぎて夕方の時間の半分を無駄にすることができました://

/var/www/myappとその中のすべてのファイルは775で、apache:apacheを実行しています。

私もhttpd、php、apacheモジュールを再インストールしようとしましたが、www全体を閲覧しましたが、何も探索しませんでした。 :/できるだけ早く助けが必要です!

編集する: 言及するのを忘れました - /var/www/myappは/home/myfolder/projects/myapp <--- これもchmod'edとchown'edシンボリックリンクされています。

編集2:

これで、conf/httpd.confにユーザーとグループを「マイユーザー」として追加して、自分のホームフォルダに書き込むことができました。シンボリックリンクエラーはもう存在しませんが、Apacheはまだ私のユーザーが属するフォルダに書き込めません。また、conf/httpd.confで私のユーザーとApacheユーザーを混在させ、/home/.../myappに対して同様の権限を設定してみました。 RedHatディストリビューションは本当に素晴らしいです!私の場合、このように特権が無視されたのは今回が初めてではない。 :/

編集3: Fedora OSをアンインストールし、UBUNTU :Dをインストールして問題を解決しましたが、完全に機能しました。同じ権限、同じファイル - シンボリックリンクまたはapache:my_userへの書き込み問題はありません...理解できません...-_-

答え1

この問題に対する答えは、シンボリックリンクが指すファイル/ディレクトリの所有者がシンボリックリンクを所有するようにすることです。

この追加手順はパッチとして導入されました(Fedoraのみが適用されているか、結果として表示されます)。

Apacheのソースコードを読む(オンラインで答えが見つからなかったのでこれをしなければなりませんでしたが、これが最も近いです)これがOPT_SYM_OWNERあなた(そして私)をアウトさせた犯人のようです。

変更はターゲットファイル/ディレクトリchown -h myuser:mygroup <the_symlink>と同じです。myuser:mygroup

答え2

Apache自体内でシンボリックリンクが有効になっていることを確認してください。権限が良い場合でも、Apacheは必ずしもシンボリックリンクリダイレクトを許可するわけではありません。

<Directory /var/www/myapp>
    Options +FollowSymLinks
    AllowOverride All
    ...
</Directory>

答え3

FollowSymLinksが正しく設定されていると仮定すると、問題はあなたのホームディレクトリが他の人のホームディレクトリを通過できないことです(子ディレクトリにアクセスするときは、親ディレクトリの権限が重要ですか?)。これはFedoraのデフォルト設定です。良いUbuntuのデフォルト設定はより許容的であるため、切り替える必要があります。

この場合と仮定すると、エラーメッセージは次のようになります。最大有益ながらもエラーはありません。

あなたの欲求不満を理解します。しかし、ここで本当に不思議なことが起こっているか、特に間違ったことはないと思います。 Fedoraのデフォルトは、デフォルトでセキュリティ/個人情報保護に敏感です。 (参考までにこれもかなり簡単SELinuxを有効にして動作させ、必要に応じて追加の保護層を提供します。 )

したがって、免責事項:私はFedoraで働いており、誰もがFedoraを使用しているといいでしょう。しかし、彼らが巨大なLinuxの世界を使用していなくても構いません。しかし、ここに問題があります...近いうちにUbuntuでも同様の状況を見ることになりますが、奇妙なエラーメッセージが全体の内容を教えてくれません。おそらくウィンドウの外に投げて、ArchやopenSUSE、$flavorofthedayに移動するか、Fedoraに戻って問題を解決することもできます。構成が少し違うから。しかし、次回このようなことが起こるまでどのくらいかかりますか?私はあなたが本当に仕事を終え、コンピュータが邪魔にならないことを望んでいることを知っています。しかし、最終的に怒ってすべてを変えるともっと働く

答え4

SELinuxのメッセージを使って作業しました。

SELinuxはhttpdの*****ディレクトリへの読み取りアクセスをブロックしています。

*****プラグインcatchall_boolean(89.3信頼性)推奨******************

httpdがユーザーコンテンツを読み取れるようにするには、「httpd_read_user_content」ブールを有効にしてSELinuxに通知する必要があります。

...

するsetsebool -P httpd_read_user_content 1

関連情報