Рейтинг:2

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

флаг in

Я хотел бы, чтобы локальный пользователь Linux аутентифицировал свои учетные данные при доступе к сайту. Я использую модуль ngx_http_auth_pam_module. В файле nginx.conf у меня есть следующая конфигурация для директивы местоположения:

место расположения / {
        proxy_pass http://somewebsite:5000;
        корень html;
        индекс index.html index.htm;
        auth_pam "Защищенная область";
        auth_pam_service_name "nginx";
    }

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

требуется авторизация pam_unix.so
требуется учетная запись pam_unix.so

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

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

Рейтинг:3
флаг cz

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

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

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

Nebek avatar
флаг in
Спасибо, Майкл. Каким будет мой пользователь веб-сервера, или как я могу узнать? Будет ли это Nginx?
Michael Hampton avatar
флаг cz
@Nebek Это отображается в списке процессов. Вы также можете проверить модуль systemd или файл конфигурации nginx.
Nebek avatar
флаг in
Извините, Михаил, но я все еще не понимаю. В моем файле конфигурации nginx вверху я вижу строку «пользователь никто». Является ли «никто» пользователем веб-сервера? Должен ли я редактировать эту строку? Кроме того, если вы можете предоставить мне шаги о том, как дать пользователю веб-сервера разрешение на чтение файла /etc/shadow. Спасибо!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.