Как аутентифицировать локального пользователя Linux с помощью модуля Nginx PAM?

Как аутентифицировать локального пользователя Linux с помощью модуля Nginx PAM?

Я хотел бы иметь возможность аутентификации локального пользователя 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";
    }

С синтаксисами "auth_pam" и "auth_pam_service_name" в моем файле nginx.conf при доступе к сайту мне предлагается ввести учетные данные. В каталоге /etc/pam.d я создал файл службы "nginx" со следующим содержимым:

auth required pam_unix.so
account required pam_unix.so

Я запускаю это на сервере CentOS 7. Я понимаю, что мне придется создать локального пользователя Linux и/или группу и, возможно, предоставить доступ к файлу /etc/shadow, но, используя руководства, которые я нашел в сети, я все еще не могу войти в систему как локальный пользователь. Может ли кто-нибудь предоставить мне шаги, как заставить это работать, чтобы я мог войти в систему как локальный пользователь Linux при доступе к сайту?

Спасибо, любая помощь будет оценена по достоинству, и я могу предоставить дополнительную информацию, если потребуется.

решение1

TheПРОЧТИ МЕНЯдля этого стороннего модуля nginx говорится:

Обратите внимание, что модуль работает от имени пользователя веб-сервера, поэтому используемые модули PAM должны иметь возможность аутентифицировать пользователей, не будучи пользователем root; это означает, что если вы хотите использовать модуль pam_unix.soдля аутентификации пользователей, вам нужно разрешить пользователю веб-сервера читать /etc/shadowфайл, если вас это не пугает (в системах типа Debian вы можете добавить www-dataпользователя в shadowгруппу).

Обратите внимание на последствия для безопасности, связанные с разрешением вашему веб-серверу и/или веб-приложению читать теневой файл.

Связанный контент