Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  hosting
  mod_gzip
  mod_log_sql
  mod_geoip
  mod_bandwidth
  mod_accounting
  mod_bunzip2
  mod_mp3
  mod_shapvh
  mod_limitipconn
  mod_sqlinclude
  mod_auth_imap
  webalizer
  Apache + SSL
  auth_ldap
  Настройка AWStats
  apache 2.0
  mod_auth_external
  CMS - TYPO3
  phpBB-2/3
  mod_ntlm
  mod_ntlm2
  Nginx+php+fcgi
  OTRS на Apache1
  OTRS на Apache20
  ApacheStats
  mod_evasive
  Lighttpd
  nginx+php-fpm+mysql
  php + mssql
  MySQL + кодировки
  svn+apache+trac
  php5-oci8
  Lighttpd + Apache
  CMS Drupal 6.9
  Apache22+MySQL
  Оптимизация хоста для CMS
  блокировка spam на www
  PostgreSQL 8
  Apache 22 + PHP5 + suPHP
  lighttpd + mod_uploadprogress
  VirtualBox + phpVirtualBox
  DNS API
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> WWW —> mod_ntlm

mod_ntlm - авторизация на сайте через учетные записи Samba или Windows домена

Автор: serge.


mod_ntlm - модуль для apache13, позволяющий прозрачно авторизовать пользователя использую его доменную учетную запись. Удобно, если необходимо сделать ограниченный доступ к содержимому корпоротивного веб сервера и не хочется озадачивать пользователей запоминанием еще одного пароля.
Установка:
server# cd /usr/ports/www/mod_ntlm/
server# make install clean

Этот модуль приносит с собой следующие файлы:
server# pkg_info -xL mod_ntlm
Information for mod_ntlm-0.4:

Files:
/usr/local/libexec/apache/mod_ntlm.so
/usr/local/share/doc/mod_ntlm/mod_ntlm.html

После ознакомления с документацией, идем править конфиг апача.
Для начала в соответствующих секциях конфига подключаем модуль mod_ntlm:
server# cat /usr/local/etc/apache/httpd.conf | grep mod_ntlm
LoadModule ntlm_module        libexec/apache/mod_ntlm.so
AddModule mod_ntlm.c

Мне было удобно вносить директивы mod_ntlm только для определенных виртуальных хостов.
Но это можно сделать и глобально на весь сервер:
<VirtualHost *:80>
        ...
        ... skiped ...
        ...
        
        <Directory "/usr/home/mydomain/www">
            ...
	    ... skiped ...
	    ...
			
            AuthName NTAuth
            AuthType NTLM
            NTLMAuth on
            NTLMAuthoritative on
            NTLMDomain SAMBADOMAIN
            NTLMServer samba.server.int
            require valid-user
        </Directory>
</VirtualHost>

Перевод описания директив mod_ntlm взятого из его документации:
NTLMAuth on/off включает/выключает NTLM аутентификацию
AuthNTGroups filename ограничивает доступ пользователей,
использую текстовые файлы групп (подробнее читай в документации)
NTLMAuthoritative on/off позволяет пользователям, которые
не прошли аутентификацию NTLM, быть аутентифицированными другими модулями
NTLMDomain domain_name домен в котором ищем пользователя
NTLMServer server_name or ip_addr    основной (первичный) сервер
для аутентификации пользователя (Windows или Samba)
NTLMBackup server_name or ip_addr    вторичный сервер, в случае
если первичный не отвечает
NTLMBasicAuth on/off включает/выключает Basic аутентификацию
в дополнение к NTLM. При установленом значение NTLMAuth в off Basic
аутентификация не работает
NTLMBasicRealm realm The realm to pass to the client for Basic
authentication. (дословно "Царство, чтобы пройти клиенту для Basic
аутентификации" - непонял как перевести)))
Require valid-user каждый пользователь, являющийся членом домена
получает доступ к веб ресурсу
Require user user_name только определенные пользователи получают
доступ. Допускается указывать одного или нескольких пользователей

Аутентификация с помощью mod_ntlm прозрачно работает при использовании
Internet Explorer. Причем версия 3.0 и соответственно ниже не поддерживаются.
В опере запрашивается логин и пароль, а после этого пускает. Другие браузеры
не пробовал.

Проверить работу mod_ntlm можно с помощью следующего скрипта:
<html>
<body>
<h3>Тестирование mod_ntlm</h3>
<p>Вы авторизовались на сервере как:
<br>

<?php
echo $_SERVER['REMOTE_USER'];
?>

</p>
</body>
</html>

Так же логи от mod_ntlm можно наблюдать в error.log файле веб сервера или
виртуального хоста:
[Fri Aug 24 19:37:34 2007] [notice] [client 192.168.2.5] got auth_line "TlRMTVNTUAABAAAAB4IIogAAAAAAAAAAAAAAAAAAAAAFASgKAAAADw=="
[Fri Aug 24 19:37:34 2007] [notice] [client 192.168.2.5] got header with
host "", domain ""
[Fri Aug 24 19:37:34 2007] [error] [client 192.168.2.5] received msg1
135028756 94878
[Fri Aug 24 19:37:34 2007] [notice] [client 192.168.2.5] send WWW
-Authenticate "NTLM TlRMTVNTUAACAAAADgAOADAAAAAHggEAhM1KcK0kdzAAA
AAAAAAAAAAAAAA+AAAASQBaAEQAQQBUAEUATAA="
[Fri Aug 24 19:37:34 2007] [notice] [client 192.168.2.5] got auth_line "TlRMTVNTUAADAAAAGAAYAFoAAAAYABgAcgAAAAAAAABIAAAACgAKAEgAAAAIAAgAUgAAA
AAAAACKAAAABYIAAgUBKAoAAAAPcwBlAHIAZwBlAE0AQQBJAE4Au5aH6rz/tflyhZVoRI8
O19eLLzGA8PEyeKn3EOJVdCUDZwNu25KzBlt5zQpDSBWg"
[Fri Aug 24 19:37:34 2007] [notice] [client 192.168.2.5] got header with
host "MAIN", domain ""
[Fri Aug 24 19:37:34 2007] [error] [client 192.168.2.5] received msg3
135028756 94878
[Fri Aug 24 19:37:34 2007] [error] [client 192.168.2.5] authenticating
user against DC 135028756 94878
[Fri Aug 24 19:37:34 2007] [error] [client 192.168.2.5] authentication OK!
135028756 94878
[Fri Aug 24 19:37:34 2007] [notice] [client 192.168.2.5] NTLM/SMB user:
"SAMBADOMAIN\\serge": authentication OK.

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



размещено: 2007-08-25,
последнее обновление: 2007-08-25,
автор: serge

оценить статью:

Ы, 2007-08-26 в 10:23:05

Дык NTLM деприкатед ... лет 7 назад нужно было. Сейчас везде AD и вроде же есть SPNEGO/GSSAPI для Апача? Или я чего напутал?

Za..., 2007-08-27 в 9:25:53

А для 2 апача как сделать, все перепробовал, но есть одна весчь, это был PERL и его модуль.

А если вместо АД, САМБА...

pawel, 2007-09-07 в 17:27:23

Хм...товарищи, а у меня аутентификацию проходит тока при вводе логина и пароля в окне basic. т.е. на лету не схватывает? В логах все чисто, как в примере.

Aleks, 2013-09-02 в 15:32:33

Если логин кирилицей, то не работает


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 11 чел.
За последние 30 мин было: 58 человек
За сегодня было
5028 показов,
623 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0989 секунд
Из них PHP: 45%; SQL: 55%; Число SQL-запросов: 77 шт.
Исходный размер: 86373; Сжатая: 15905