PHP Webアプリのインストーラーを作成しています。ユーザーはいくつかのファイルとディレクトリ(config.php、cache、uploads、.htaccess)のアクセス許可を777に変更する必要があります(多くのアプリケーションで、インストーラーがユーザーに(config.phpなどの)アクセス許可を644に戻す必要があることを確認しました。
なぜそんなに重要なのですか? 777のままにできないのはなぜですか?ある種のセキュリティ上の懸念があると思いますが、これらのファイルを書き込み可能のままにすると、正確に何が起こる可能性がありますか?
PHPスクリプトはWebサーバーで実行されます。権限をそのままにしておくと、Webサーバーユーザーになります(www-data
またはApache
)これらのファイルに書き込むことができます。スクリプトにバグや脆弱性がある場合、これらのアクセス許可により、Webサーバー(したがって外部エージェント)がファイルとファイルシステムの内容を変更できるようになります。起こりうること:
だから、ええ、その状態に許可を残すのは恐ろしい考えです。
777は特に悪いです。つまり、誰でもファイルを削除したり作成したりできます。私はファイルを作成します、あなたはそのファイルを削除します。
必須 777を使用し、次に1777を使用する場合-これは、ファイルの所有者のみにファイルの削除を許可するようにOSに指示します。
それ以外の点では、coredumpが言ったとおりです。新しいファイルを書き込んだり既存のファイルを上書きしたりできるスクリプトのバグにより、Apache/nobody/www-としてファイルを上書き/作成するため、Webサーバーに対してやりたいことが何でもできます。データの場合、Webサーバーは元のコンテンツではなく悪意のあるコンテンツを提供します。
理想的には、このような問題を回避するために、Webサーバープロセスは読み取り元のディレクトリに書き込むことができません。
そのサーバー/ワークステーションの他のユーザーはファイルを変更できます。たとえば、デスクトップUbuntuを使用して/ home 777を作成すると、任意のユーザーが削除または変更できます。
777は、共有ホスティングを使用している場合は特にセキュリティリスクがあります。
そのディレクトリに(たとえばftp経由で)アクセスできる人は誰でも、それらを読み取り、書き込み、実行できます。開発者として、使用意図のシナリオを実行し、潜在的なセキュリティホールを閉じる必要があります...