1

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

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

1 ответ1

1

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

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .