Можно ли использовать защиту паролем auth_basic с использованием пользователей и паролей Linux?

Я бы хотел защитить паролем веб-сайт, разрешающий только пользователям Linux, и их пароли, хранящиеся в / etc / passwd и / etc / shaddow для входа в систему.

Apache и nginx позволяют ограничить доступ, используя HTTP auth_basic , используя файлы определенных пользователей и паролей.Можно ли использовать вместо них / etc / passwd и / etc / shadow или как-то синхронизировать файлы?

1
задан 23 December 2020 в 13:39
1 ответ

При прямом подходе возникают две проблемы:

хэши паролей для локальных учетных записей пользователей хранятся в /etc/shadow

  • /etc/shadow имеет больше полей, чем только login:hash
  • разрешения на /etc/shadow позволяют только пользователю root читать содержимое, и ваш веб-сервер не должен работать как root

Поэтому этот файл нельзя использовать с базовая аутентификация и наиболее распространенный модуль https://httpd.apache.org/docs/2.4/mod/mod_authn_file.html

Что вы можете сделать:

  • используйте mod_authnz_pam, чтобы заставить Apache использовать механизм аутентификации PAM для аутентификации пользователей. https://github.com/adelton/mod_authnz_pam

  • или используйте mod-auth-external в сочетании с pwauth

https://serverfault.com/a/692619/546643

https:/ /github.com/phokz/mod-auth-external

2
ответ дан 23 December 2020 в 12:14

Теги

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