/var/www/htmlはなぜルート(デフォルト)のみを書くことができますか?

/var/www/htmlはなぜルート(デフォルト)のみを書くことができますか?

drwxr-xr-x 1 root root(Debian で) LAMP を設定し、/var/www/html の権限を調べた後、root( ) のみを書くことができることに驚きました。

おそらくPHPスクリプトは/var/www/htmlにファイルを生成できますが、確かにPHPスクリプト(またはそのインタプリタ)はrootとして実行されませんか?誰でも私の誤解を理解するのに役立ちますか?

編集する:

PHPをインストールしましたapt-get install php5-common libapache2-mod-php5 php5-mysql php5-cli

ベストアンサー1

PHPスクリプトは次のように実行されます。

  • Apacheを使用している場合、Apacheを実行しているユーザーはUserApache設定のディレクティブによって決定されます(通常、apacheまたはnobodymod_php
  • PHP-FPMを実行しているユーザー(それを使用している場合)php-fpm

したがって、PHPスクリプトを実行しているユーザーはさまざまです。したがって、所有者とグループ/var/www/html(またはDocumentRoot場所)を適切に設定できます。

また、PHPアプリケーションがファイルに書き込んだり上書きしたりすることをまったく望ましくないかもしれません。DocumentRootこれは、破損しているか安全でないPHP Webアプリケーションの訪問者がリモートでコードを実行する権限を取得できるためです。したがって、Apacheがネットワーク経由で提供および実行できるファイルを作成できるようにPHPアプリケーションを信頼できるかどうかを判断するのはあなたの責任です。

上記と同様の理由で、PHPはrootとして実行されることはほとんどありません(そしてそれを行うべきではありません!)。

おすすめ記事