Аутентификация учетных данных пользователя 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
разъем.