Nginx PAM モジュールを使用してローカル Linux ユーザーを認証するにはどうすればよいですか?

Nginx PAM モジュールを使用してローカル Linux ユーザーを認証するにはどうすればよいですか?

サイトにアクセスするときに、ローカル Linux ユーザーが資格情報を使用して認証できるようにしたいと考えています。ngx_http_auth_pam_module を使用しています。nginx.conf ファイルでは、location ディレクティブに次の構成があります。

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

READMEこのサードパーティの nginx モジュールでは次のように書かれています:

モジュールは Web サーバー ユーザーとして実行されるため、使用される PAM モジュールは、root でなくてもユーザーを認証できる必要があります。つまり、モジュールを使用してユーザーを認証する場合は、pam_unix.soWeb サーバー ユーザーがファイルを読み取れるようにする必要があります(Debian のようなシステムでは、ユーザーをグループに/etc/shadow追加できます)。www-datashadow

Web サーバーや Web アプリケーションにシャドウ ファイルの読み取りを許可する場合のセキュリティ上の影響を十分に考慮してください。

関連情報