Nginx 정적 빌드 - 루트가 아닌 사용자로 루트로 실행

Nginx 정적 빌드 - 루트가 아닌 사용자로 루트로 실행

nGinx를 정적으로 컴파일했는데 잘 작동합니다. 일반 사용자로부터 nginx static bin을 시작할 때 어떻게 일반 사용자를 생성하고 루트로 실행합니까?

감사해요

답변1

당신이 요구하는 것은 Nginx가 권한 있는 포트에 바인딩할 수 있도록 sudo가 아닌 사용자 권한을 부여하는 방법이라고 생각합니다.

이 경우 /etc/sudoers파일 visudo에 다음 행을 추가하십시오 (단축키).

Cmnd_Alias   NGINX = /path/to/binary/nginx
username ALL=NOPASSWD: NGINX

물론 위의 예에서는 /path/to/binary/시스템의 위치와 일치하도록 변경하고 username명령을 실행할 사용자 이름으로 변경해야 합니다.

사용자 이름만 사용하는 대신 NGINX 그룹을 생성하면 해당 그룹의 모든 사용자가 해당 권한을 갖게 되어 동일한 결과를 얻을 수도 있습니다.

groupadd groupnamehere
usermod -G groupnamehere usertoaddtogrouphere

이제 sudoers파일 에서 username위에 제공한 줄을 다음 줄로 바꿉니다.

%groupnamehere ALL=NOPASSWD: NGINX

이를 테스트하려면 사용자가 되어 다음 명령을 실행하십시오.

1)Become the user =>  su - usernamehere
2)Check groups user is in => groups
3)Run command => sudo nginx restart
4)In case nginx isn't a global command run => sudo /path/to/binary/nginx restart

관련 정보