ウェブサイトのページをコピーに置き換えない限り、Apacheがウェブサイトのページへのアクセスを拒否されるのはなぜですか?

ウェブサイトのページをコピーに置き換えない限り、Apacheがウェブサイトのページへのアクセスを拒否されるのはなぜですか?

ウェブサイトの作り方:

Webサイトファイルが別のコンピュータから圧縮フォルダにコピーされました。

WEBSITE.tar.gz

解凍し、コンテンツを/var/html/www新しいWebサーバーに移動し、その結果ファイルの場所は次のようになります。

/var/html/www/index.html
/var/html/www/css/styles.css
/var/html/www/img/photo.jpeg

ファイルとディレクトリに対する権限が以前のコンピュータとの違いを引き起こしていたため、権限をすばやく変更できるソリューションを調査して見つけました。

sudo chmod -R u+rwX,go+rX,go-w /var/www/html/*

ファイルの権限を確認した結果、期待どおりに表示されます。

cd /var/www/html
ls -a -l
drwxr-xr-x. 2 root root size month day hour css
drwxr-xr-x. 2 root root size month day hour img
-rw-r--r--. 1 root root size month day hour index.html

cd /var/www/html/img
ls -a -l
-rw-r--r--. 1 root root size month day hour photo.jpeg

cd /var/www/html/css
ls -a -l
-rw-r--r--. 1 root root size month day hour styles.css

質問:

サイトのページにアクセスしようとすると、次のメッセージが表示されます。

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

それから実験をしました。

sudo mv index.html index.html.backup
sudo cp index.html.backup index.html

これでページが正しく読み込まれますが、画像とスタイルは表示されません。したがって、コピープロセスが完了すると、Webサイトに表示したい画像とスタイルが得られます。

sudo mv css css.backup
sudo cp css.backup css
sudo mv img img.backup
sudo cp img.backup img

動作しますが、説明は何ですか?私はこれを理解したくないファイルをコピーするだけでなく、問題を解決する「一般的な」方法が何であるかを知りたいです。

ベストアンサー1

LinuxにGNU-coreutilsを含めるにはlsモードビットの終わりにある点は、SELinux「コンテキスト」が適用されることを示します。- 詳細を表示するにはls [-l] -Z(または)を使用してください。 - そして(最近)RedHat / CentOSは、SELinuxがデフォルトでファイルを含むさまざまなリソースへのアクセスを制限することを許可します。--context

SELinux機能を使用してアクセスを制御する必要がない限り、最も簡単な方法は[sudo] restorecon [-R]ファイルからそれらを無視することです。man restoreconSELinux を無効にする方法をご覧ください。man setenforce

関連質問ファイル権限ビットの後の点はどういう意味ですか?

おすすめ記事