Я хотел бы, чтобы локальный пользователь Linux мог пройти аутентификацию (вход в систему) с помощью модуля Nginx PAM. Я использую сервер CentOS 7. В частности, ниже я пытаюсь сделать...
ПРОЧТИ МЕНЯ для модуля ngx http auth pam говорит:
Обратите внимание, что модуль работает от имени пользователя веб-сервера, поэтому используемые модули PAM должны иметь возможность аутентифицировать пользователей без привилегий root; это означает, что если вы хотите использовать модуль pam_unix.so для аутентификации пользователей, вам нужно разрешить пользователю веб-сервера читать файл /etc/shadow, если это вас не пугает (в системах, подобных Debian, вы можете добавить www-data пользователя в теневую группу).
Мой первый вопрос заключается в том, что в данном случае «nginx» является пользователем веб-сервера? Мой второй вопрос: как я могу установить разрешения для пользователя веб-сервера на чтение файла /etc/shadow? Может кто-нибудь, пожалуйста, предоставьте мне шаги, которые сработали для них. Я следил за многими учебниками, которые я нашел в Интернете, но безуспешно. В настоящее время при доступе к сайту, на который я хочу, чтобы локальный пользователь Linux мог войти, я получаю запрос аутентификации (для ввода имени пользователя и пароля), но при вводе учетных данных локального пользователя Linux это безуспешно, и просто предлагает мне ввести его снова.
Спасибо, любая помощь ценится, и я могу дать больше информации, если это необходимо.
Редактировать:
Я настроил PAM в nginx, сначала создав nginx из исходного кода, используя шаги здесь. В моем файле nginx.conf я добавил следующую строку вверху, чтобы включить модуль PAM...
load_module /etc/nginx/modules/ngx_http_auth_pam_module.so;
Я также включил две строки ниже в директиву моего местоположения в nginx.conf...
auth_pam "Защищенная область";
auth_pam_service_name "nginx";
В каталоге '/etc/pam.d' для служебного файла nginx у меня есть следующие две строки...
требуется авторизация /usr/lib/security/pam_unix.so
требуется учетная запись /usr/lib/security/pam_unix.so
Глядя на ПРОЧТИ МЕНЯ для модуля ngx http auth pam я вижу, что мне нужно будет предоставить пользователю веб-сервера разрешение на чтение файла /etc/shadow. Для этого я сначала создал новую группу под названием «тень». Затем я назначил пользователя веб-сервера (который, как я предполагаю, nginx) в группу «тени». Затем я изменил разрешения для файла /etc/shadow. Команды, которые я запускал для этого, приведены ниже...
группадобавить тень
usermod -a -G тень nginx
корень chown: тень /etc/shadow
chmod g+r /etc/тень
После этого я проверил права доступа к файлу /etc/shadow с помощью команды
ls -l /etc/тень
и вот что получилось...
----р-----. 1 корневая тень 1390, 30 августа, 12:51 /etc/shadow
Я также установил пароль для пользователя nginx. И просто повторю, при доступе к сайту, который я хочу пройти аутентификацию, когда я ввожу имя пользователя и пароль nginx, он просто предлагает мне снова ввести его.