これら 2 つの方法で権限を設定する場合の違いは何ですか?

これら 2 つの方法で権限を設定する場合の違いは何ですか?

方法 1: apache2.conf (または httpd.conf) 経由:

<Directory "/var/www/html">
  Options Indexes FollowSymLinks -MultiViews
  AllowOverrides None
  Order allow,deny
  Allow from all
</Directory>

方法 2: コマンドラインで chmod を実行します。

これら両方の方法は同じことを達成するのではないですか?

もう 1 つの質問ですが、回答できる場合は、var フォルダーと www フォルダーには通常どのような権限が設定されていますか?

ありがとう

答え1

方法 2 は、ファイル システム レベルで権限を設定するため、Apache に限りません。これは、ファイルに権限を設定する安全な方法です。

方法 1 ではアプリケーション層で権限を設定しますが、方法 2 も適用されます。コンテンツが Apache で読み取れない場合は、方法 1 でクライアントがファイルを読み取れると通知されても、読み取ることはできません。

したがって、簡単に答えると「いいえ」です。
方法 2 は、Apache が PHP ファイルを読み取れるが、他のユーザー/プロセスは読み取れないことを保証するために使用されます。方法 1 は、パスワードなどでページ アクセスを保護するために使用されます。

PHP タグを設定しているのがわかりますが、方法 1 が PHP の読み取りまたは書き込みに影響しないように注意してください。方法 2 と PHP 構成でそれが行われます。

私のシステムでは /var は 755 root/root ですが、www は Apache の構成と必要なセキュリティに大きく依存します。

関連情報