이 글은 PHP의 기본 지식에 대해 이야기하고 nginx, php-fpm 및 mysql의 사용자 권한에 대한 심층적인 이해를 제공할 것입니다. 모든 사람에게 도움이 되기를 바랍니다!
일반적으로 우리가 웹 애플리케이션을 실행하는 서버에는 CentOS, Ubuntu, Debian 등과 같은 Linux 배포판이 포함됩니다. 이때 서비스 아키텍처를 형성하는 데 필요한 Nginx, PHP, MySQL 및 기타 애플리케이션의 권한 제어는 매우 중요합니다. 각 서비스는 코드 디렉토리에 대한 권한 요구 사항이 다릅니다. 읽기, 쓰기 또는 실행이 불가능합니다. 권한 요구 사항을 낮추면 해킹 및 수정될 위험이 있습니다. 여기에서는 nginx, php-fpm, mysql과 같은 서비스의 권한 구분을 요약합니다.
PHP의 운영 프레임워크는 일반적으로 Nginx와 결합하여 LNMP를 구성하거나 Apache와 결합하여 LAMP 아키텍처를 구성합니다. 여기서는 Nginx를 예로 들어 Nginx 서비스를 실행하는 데 필요한 권한을 설명합니다.
우리는 Nginx 자체가 PHP 구문을 구문 분석할 수 없다는 것을 알고 있으므로 Nginx는 정적 파일(예: HTML 등)에 대해 직접 구문 분석하고 결과를 반환하지만, PHP 파일의 경우 Nginx는 처리를 위해 이를 PHP 인터프리터 php-fpm으로 전송합니다. . 완료 후 클라이언트 브라우저에 응답을 반환합니다 .
따라서 Nginx 및 PHP 서비스에 필요한 권한을 code 디렉터리에 통합해야 합니다.
① 루트 사용자를 일률적으로 사용하는 경우 일반 게스트 계정은 애플리케이션에 접근할 수 없습니다. nginx를 루트로 실행하도록 구성하면 일단 공격을 받으면 루트 ID를 획득하게 됩니다. 시스템에서 모든 작업을 수행합니다.
② 모든 코드 디렉터리 권한이 rwxrwxrwx로 설정된 경우 사용자가 브라우저를 통해 코드 디렉터리를 직접 수정할 수 있는 숨겨진 위험이 있습니다.
따라서 가장 좋은 방법은 새로운 사용자 그룹으로 분류하고 Nginx 및 PHP를 실행하는 데 필요한 권한을 사용자 그룹에 할당하여 웹 애플리케이션에 대한 권한 디렉터리 관리를 달성하는 것입니다. 일반적으로 많은 팀에서는 이 사용자 그룹에 www라는 이름을 지정하고 www 사용자는 코드 디렉터리 권한을 균일하게 관리합니다.
Nginx 구성 파일nginix.conf
에 구분된 실행 권한이 www 사용자 아래에 구성되어 있는 것을 볼 수 있으므로 Nginx 하위 프로세스도 www 사용자에 의해 실행되며, 이는 www 사용자에 의해 실행될 수 있습니다. ps aux | grep nginx
보기: nginix.conf
里面划分的运行权限就是配置到了www用户下,因此Nginx的子进程也是由www用户执行,可以通过ps aux | grep nginx
来查看:
可以看到nginx的主进程是root,其余子进程均是www的用户
nginx.conf的配置:
同样的,php的运行方式也是由主进程root运行,在子进程池(pool)里面配置由www用户执行,具体配置在php根目录下的<span style="color: rgb(192, 0, 0);">etcphp-fpm.conf</span>
下,添加两行:
user = www group = www
即可,同样用ps aux | grep php
可以查看进程使用的用户身份:
通过ps aux | grep mysql
nginx의 주요 프로세스는 루트이고 다른 하위 프로세스는 모두 www
마찬가지로 PHP 실행 모드도 기본 프로세스 루트에서 실행되며, www 사용자가 실행하도록 하위 프로세스 풀(풀)에서 구성됩니다. 구체적인 구성은
두 줄을 추가하세요.
user www www;그렇습니다.
ps aux | grep php
를 사용하여 프로세스에서 사용하는 사용자 ID를 볼 수도 있습니다. 의 권한 구성은 ps aux | grep mysql code>을 통해
user = www group = www🎜php-fpm: 🎜🎜
drwxr-xr-x 就是755🎜디렉토리: 🎜🎜rrreee🎜추천 학습: "🎜PHP 비디오 튜토리얼🎜"🎜
위 내용은 nginx, php-fpm, mysql 등의 권한 구분을 정리하고 요약합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!