
Ich möchte einem lokalen Linux-Benutzer die Möglichkeit geben, sich beim Zugriff auf eine Site mit seinen Anmeldeinformationen zu authentifizieren. Ich verwende das Modul ngx_http_auth_pam_module. In der Datei nginx.conf habe ich die folgende Konfiguration für die Standortanweisung:
location / {
proxy_pass http://somewebsite:5000;
root html;
index index.html index.htm;
auth_pam "Secure area";
auth_pam_service_name "nginx";
}
Mit den Syntaxen „auth_pam“ und „auth_pam_service_name“ in meiner Datei nginx.conf werde ich beim Zugriff auf die Site aufgefordert, Anmeldeinformationen einzugeben. Im Verzeichnis /etc/pam.d habe ich eine „nginx“-Dienstdatei mit folgendem Inhalt erstellt:
auth required pam_unix.so
account required pam_unix.so
Ich führe dies auf einem CentOS 7-Server aus. Mir ist klar, dass ich einen lokalen Linux-Benutzer und/oder eine Gruppe erstellen und möglicherweise Zugriff auf die Datei /etc/shadow gewähren müsste, aber mit den Tutorials, die ich online gefunden habe, kann ich mich immer noch nicht mit einem lokalen Benutzer anmelden. Könnte mir bitte jemand die Schritte erklären, wie ich es zum Laufen bekomme, damit ich mich beim Zugriff auf die Site mit einem lokalen Linux-Benutzer anmelden kann?
Vielen Dank, ich bin für jede Hilfe dankbar und kann Ihnen bei Bedarf weitere Informationen geben.
Antwort1
DerLiesmichfür dieses Drittanbieter-Nginx-Modul heißt es:
Beachten Sie, dass das Modul als Webserver-Benutzer ausgeführt wird. Die verwendeten PAM-Module müssen daher in der Lage sein, die Benutzer zu authentifizieren, ohne dass sie Root-Rechte besitzen. Dies bedeutet, dass Sie
pam_unix.so
dem Webserver-Benutzer das Lesen der Datei gestatten müssen, wenn Sie das Modul zur Authentifizierung von Benutzern verwenden möchten/etc/shadow
, sofern Sie das nicht schreckt (auf Debian-ähnlichen Systemen können Sie denwww-data
Benutzer zurshadow
Gruppe hinzufügen).
Beachten Sie die Sicherheitsauswirkungen, wenn Sie Ihrem Webserver und/oder Ihrer Webanwendung das Lesen der Schattendatei erlauben.