web-dev-qa-db-ja.com

403ダウンロードしようとしたときに/ var / www / htmlに配置されたファイルで禁止されていますか?

サーバーからデスクトップコンピューターにファイルをコピーしようとしています。 /var/www/html(Webページがある場所)に配置し、ダウンロードしようとすると403 Forbiddenが表示されます。ファイルに対してchmod 777を試しても、修正されません。

何が間違っているのですか、なぜこのエラーが発生するのですか?

4
MetaGuru

Apacheユーザーが所有するようにファイルを変更する必要があります。デフォルトでは、Apacheはwww-dataユーザー(www-dataグループにあります)として実行されます。 chownを使用して、ファイルの所有者を変更できます(Sudoとともに使用する必要がある場合があります)。

chown -R www-data:www-data /var/www/html

最後に、ファイルにleast Apacheユーザーの読み取りおよび実行権限があることを確認する必要があります。あなたが言ったように、あなたはすでにこれをしました、しかしすべての許可/ファイル所有者を修正した後、あなたはls -l /var/www/htmlを実行することによってすべてが大丈夫であることを確認するべきです。セキュリティ対策として、他のユーザーのすべてのアクセス許可を削除することも賢明です。

chmod -R 0550 /var/www/html

PHPまたは書き込みアクセスが必要な別のスクリプト言語を使用する場合は、代わりに上記のアクセス許可マスクを0770に変更する必要がある場合があります。予防措置として、そのマスクのみを使用してください。必要に応じてディレクトリ(たとえば、Webサイトのキャッシュデータの書き込みやファイルのアップロード)

11
Breakthrough

CentOS 7 + Apacheを使用していますが、問題を解決した唯一のコマンドはそれです(以前にchown + chmodを試したため):

Sudo setenforce 0 #disable SELinux

そして、ファイル(私の場合はanyfile.Zip)をダウンロードできますが、攻撃者がコードを記述して実行する可能性があります。

4
Marcus Mendes

おそらく SELinux が有効になっています。現在の目的でそれを回避する最も簡単な方法は、問題のファイルをApacheが実行されているユーザーIDにchownすることです。

0
Kyle Jones