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

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
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 6 чел.
За последние 30 мин было: 39 человек
За сегодня было
8 показов,
4 уникальных IP
 

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

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0463 секунд
Из них PHP: 18%; SQL: 82%; Число SQL-запросов: 77 шт.
Исходный размер: 97012; Сжатая: 17412