
로컬 Linux 사용자가 사이트에 액세스할 때 자격 증명을 사용하여 인증할 수 있게 하고 싶습니다. ngx_http_auth_pam_module을 사용하고 있습니다. nginx.conf 파일에는 위치 지시문에 대해 다음 구성이 있습니다.
location / {
proxy_pass http://somewebsite:5000;
root html;
index index.html index.htm;
auth_pam "Secure area";
auth_pam_service_name "nginx";
}
내 nginx.conf 파일의 "auth_pam" 및 "auth_pam_service_name" 구문을 사용하면 사이트에 액세스할 때 자격 증명을 입력하라는 메시지가 표시됩니다. /etc/pam.d 디렉토리에 다음을 사용하여 "nginx" 서비스 파일을 만들었습니다.
auth required pam_unix.so
account required pam_unix.so
CentOS 7 서버에서 이것을 실행하고 있습니다. 로컬 Linux 사용자 및/또는 그룹을 생성하고 /etc/shadow 파일에 대한 액세스를 제공해야 하지만 온라인에서 찾은 튜토리얼을 사용하면 여전히 로컬 사용자로 로그인할 수 없다는 것을 이해합니다. 사이트에 액세스할 때 로컬 Linux 사용자로 로그인할 수 있도록 작동시키는 방법에 대한 단계를 누군가 나에게 제공할 수 있습니까?
도움을 주시면 감사하겠습니다. 필요한 경우 추가 정보를 제공해 드리겠습니다.
답변1
그만큼읽어보기이 타사 nginx 모듈에 대해 다음과 같이 말합니다.
모듈은 웹 서버 사용자로 실행되므로 사용되는 PAM 모듈은 루트가 아니더라도 사용자를 인증할 수 있어야 합니다. 즉, 사용자를 인증하기 위해 모듈을 사용하려면 겁이 나지 않으면
pam_unix.so
웹 서버 사용자가 파일을 읽을 수 있도록 해야 합니다 (데비안 같은 시스템에서는 사용자를 그룹에 추가할 수 있습니다 )./etc/shadow
www-data
shadow
웹 서버 및/또는 웹 애플리케이션이 섀도우 파일을 읽을 수 있도록 허용하면 보안에 미치는 영향에 유의하세요.