Аутентификация учетных данных пользователя Unix через веб-браузер

Может кто-нибудь дать мне советы о том, как аутентифицировать учетные данные пользователя Unix через браузер?

По сути, я даю доступ к просмотру некоторых файлов и хочу убедиться, что пользователи аутентифицированы, но не хочу вводить дополнительный пароль и имя пользователя, которые они должны запомнить.

1 ответ

К сожалению, есть несколько прозрачных методов для этого.

  • В сети с централизованным управлением вы можете использовать Kerberos с mod_auth_gssapi или mod_auth_kerb на стороне веб-сервера (он же "HTTP Negotiate"). Kerberos очень безопасен, но его сложно настроить для использования в Интернете (не все браузеры поддерживают его, и только некоторые разрешают его по умолчанию).

  • Если все компьютеры являются доверенными (т. Е. Пользователи гарантированно не вмешиваются в программное обеспечение, установленное с правами root), протокол Ident (RFC 1413) возможен, но аутентификация, которую он обеспечивает, очень слабая.

Но чаще всего ваш единственный вариант - попросить пароль.

  • Если у пользователей есть учетные записи в /etc/passwd Как уже упоминалось в вашем комментарии, запуск привилегированной программы, к сожалению, единственный способ проверить полученный пароль по /etc/shadow,

    Если вы делаете это, не пишите свои собственные сценарии через sudo потому что вы получите неправильную проверку ввода в первый раз, и потому что это уже решенная проблема. Выберите что-нибудь известное, например, Сайрус saslauthd (который может работать в -a pam Режим); Таким образом, ваш сайт не будет нуждаться в каких-либо привилегиях, кроме подключения к saslauthd разъем.

Другие вопросы по тегам