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

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

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 при доступе к сайту?

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

2
задан 28 August 2021 в 18:27
1 ответ

В README для этого стороннего модуля nginx говорится:

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

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

3
ответ дан 28 August 2021 в 18:50

Теги

Похожие вопросы