nginx 프로세스가 nobody 사용자로 실행되는 이유


16

에 대한 출력을 볼 때 ps -e | grep nginxnginx 작업자 프로세스가 사용자 nobody로 실행됨을 깨달았습니다.

그들이 www-data로 실행되지 않는 이유가 있습니까?


1
합리적인 질문으로 유익한 답변을 얻었습니다. 질문자가 왜 지적을 받았습니까?
패치

답변:


25

그들이 www-data로 실행되지 않는 이유가 있습니까?

예. nginx 설정에서 사용자를 지정하지 않았을 가능성 큽니다 .

사용자 지침 : http://nginx.org/en/docs/ngx_core_module.html#user

syntax: user user [group];
default:    
user nobody nobody;
context:    main

특정 사용자로 nginx를 실행하는 방법은 무엇입니까?

nginx 설정에서 nginx가 실행되는 사용자 / 그룹을 지정할 수 있습니다.

이것은 nginx 설정이 어떻게 보일지에 대한 예입니다 (사용자 지시 사항에 유의하십시오) :

pid                 /path/to/nginx.pid;
user                www-data www-data;
worker_processes    1;

events {
   worker_connections  1024; # usually 1024 is a good default
}

http {
   # more code goes here
}

설정을 업데이트 한 다음 nginx를 다시로드하거나 다시 시작하면됩니다.

물론 데비안 / 우분투에는 시스템에 가장 적합한 사용자를 선택해야합니다. 기본적으로 www-data가 있으므로 합리적인 선택입니다.


www-data는 / var / www의 소유자 / 그룹을 이해하는 것이며 nginx 프로세스에 동일한 사용자를 사용하는 것은 좋지 않습니다 ( stackoverflow.com/questions/22336186/… ) apt를 통한 nginx의 새로운 설치 데비안에서는 사용자 nginx를 사용합니다. nginx 사용자를 사용하도록 예제를 변경하고 싶을 수도 있습니다.
binaryanomaly

4

마스터 프로세스는 루트로 실행 된 다음 nginx는 setuid()/ setgid()to USER/ GROUP입니다. 경우 GROUP지정되지 않은, 다음의 nginx와 같은 이름을 사용합니다 USER.

기본적으로 그건 nobody사용자와 nobody또는 nogroup 그룹 또는 --user=USER--group=GROUP으로부터 ./configure스크립트.

nginx.conf를 편집하고 set user to www www;

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.