Назад | Перейти на главную страницу

Как использовать модуль PAM nginx?

Я бы хотел использовать nginx Модуль PAM для аутентификации сайта с существующими пользователями в системе FreeBSD. Я пытался использовать pam_unix.so, но безуспешно. Меня просто не пускают с моей парой usr / psw. :(

nginx conf:

location / {
        root html;
        auth_pam               "Secure Zone";
        auth_pam_service_name  "nginx";
        fastcgi_pass           127.0.0.1:9000;
        fastcgi_index          index.php;
        fastcgi_param          SCRIPT_FILENAME  /var/www/$fastcgi_script_name;
        include                fastcgi_params;
    }

Файл nginx в /usr/local/etc/pam.d реж:

auth    required     pam_unix.so
account required     pam_unix.so

Буду признателен, если кто-нибудь подскажет мне рабочую конфигурацию. :)

Ответьте на очень старый вопрос, но я смог подтвердить, что это работает, поэтому это может помочь. Это позволяет аутентифицировать местоположение nginx по именам учетных записей локального сервера. YMMV.

  • Ubuntu 18.04
  • nginx 1.14 (который включает модуль http_auth_pam)
nginx -v
nginx version: nginx/1.14.0 (Ubuntu)

Создайте /etc/pam.d/nginx и добавьте строку:

@include common-auth

В вашей конфигурации nginx:

location /secure {
        auth_pam                "Secure zone";
        auth_pam_service_name   "nginx";
}

а волшебный соус:

sudo usermod -aG shadow www-data

Проверьте в nginx.conf учетную запись, используемую с user www-data. Иногда его можно настроить на nobody.

Перезапустите nginx и бинго!

Благодаря приведенным выше ответам, которые помогли мне завершить это решение

Не уверен, что вы уже пробовали это, но я заметил здесь:

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

Модуль Nginx HTTP Auth PAM README

Я не могу подтвердить вашу конфигурацию, боюсь, я не использую pam_unix.so.