ホームページ  >  記事  >  バックエンド開発  >  nginx、php-fpm、mysqlなどの権限区分を整理してまとめます。

nginx、php-fpm、mysqlなどの権限区分を整理してまとめます。

青灯夜游
青灯夜游転載
2022-06-14 12:17:553885ブラウズ

この記事では、PHP の基本的な知識について説明し、nginx、php-fpm、mysql のユーザー権限について詳しく説明します。お役に立てば幸いです。

nginx、php-fpm、mysqlなどの権限区分を整理してまとめます。

通常、Web アプリケーションを実行するサーバーには、CentOS、Ubuntu、Debian などの Linux ディストリビューションが含まれています。現時点では、サービス アーキテクチャを形成するために必要な Nginx、PHP、および MySQL アプリケーションの権限制御が非常に重要です。各サービスには、コード ディレクトリに対する異なる権限要件があります。特定の権限が不足すると、サービスが読み取りまたは書き込みができない、またはエラーが実行されると、アクセス許可の要件が軽減され、侵入や改ざんのリスクが生じます。ここではnginx、php-fpm、mysqlなどのサービスの権限分けについてまとめます。

1. Web サーバーの Nginx 権限

PHP の実行フレームワークは、通常、Nginx と組み合わせて LNMP を形成するか、Apache と組み合わせて LAMP アーキテクチャを形成します。ここでは、Nginx を例として説明します。 Nginx サービスを実行するために必要なもの。

Nginx 自体は PHP 構文を解析できないことがわかっているため、
Nginx は静的ファイル (HTML など) については直接解析して結果を返しますが、PHP ファイルについては、Nginx はそれらを PHP インタープリタ php に転送します。 -fpm 処理し、処理後にクライアント ブラウザ に応答を返します。

したがって、Nginx サービスと php サービスに必要な権限を

コード ディレクトリに統合する必要があります。

① root ユーザーが一律に使用される場合、一般のゲスト アカウントはアプリケーションにアクセスできなくなります。nginx が root として実行されるように設定されている場合、セキュリティ上の大きなリスクが発生します。ルート ID が取得され、システムのすべての操作が行われます。

② すべてのコード ディレクトリのアクセス許可が rwxrwxrwx に設定されている場合、ユーザーがブラウザを通じてコード ディレクトリを直接変更できるという隠れた危険があります。

したがって、最善の方法は、

それらを新しいユーザー グループに統合し、そのユーザー グループに Nginx と php の実行に必要な権限を割り当てて、Web アプリケーションの権限を実現することです。通常の状況では、多くのチームはこのユーザー グループに www という名前を付けます。www ユーザーは、コード ディレクトリのアクセス許可を均一に管理します。 Nginx 設定ファイル

nginix.conf

このファイルに分割された実行権限は www ユーザーの下で設定されているため、Nginx の子プロセスも www ユーザーによって実行されます。 ps aux | grep nginx を表示するには:

nginx、php-fpm、mysqlなどの権限区分を整理してまとめます。nginx のメイン プロセスが root で、他のサブプロセスが次のプロセスであることがわかります。 www


nginx.conf 設定のすべてのユーザー:

nginx、php-fpm、mysqlなどの権限区分を整理してまとめます。

2. PHP 権限設定

同様に、PHP の実行方法もメイン プロセス ルートによって実行され、www ユーザーによって実行されるように子プロセス プール (プール) で構成されます。具体的な構成は

etc\php- の下にあります。 fpm.conf<span style="color: rgb(192, 0, 0);"> を php ルート ディレクトリに追加します。</span><pre class="brush:js;toolbar:false">user = www group = www</pre> という 2 行を追加するだけです。

ps aux | grep php

を使用して、次のコマンドで使用されるユーザー ID を表示することもできます。プロセス:

nginx、php-fpm、mysqlなどの権限区分を整理してまとめます。

3. MySQL サービスの権限設定

ps aux | grep mysql

を通じて、 MySQL サービスが mysql ユーザーの下で実行されていることがわかります。このサービス では、php コードが mysql に接続するときに mysql ユーザー名とパスワードを入力する必要があるだけです。統一する必要はありません。基盤となるデータのセキュリティを確保するために、データ層をビジネス ロジック層から分離する必要があるためです。 mysql の承認は主に、新しいユーザーを追加し、mysql サービスで権限を分割することです。これは、データのセキュリティを確保するために、さまざまな PHP ビジネスが異なる権限範囲を持つ ID に接続するように制御するために使用されます。

nginx、php-fpm、mysqlなどの権限区分を整理してまとめます。4.概要

nginx 設定:
user www www;

php-fpm:

user = www
group = www

ディレクトリ:

drwxr-xr-x 就是755

推奨される学習: 「
PHP ビデオ チュートリアル

以上がnginx、php-fpm、mysqlなどの権限区分を整理してまとめます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。