Приветствую многоуважаемого ALL
имеем:
OS:FreeBSD 4.8R
WEB: Apache 1.3.29 + PHP 4.3.4
домен NT на Windows 2000 Srv (mixed mode)
понадобилось мне сделать аутентификацию на домене NT.
скомпилировал и поставил mod_auth_pam 1.0a как SO (все стандартно через apxs)
поставил samba 3.0.0 (--with-pam --with-winbind --with-libiconv=/usr/local --with-ads --with-krb5=/usr/local)
скопировал в /usr/local/lib libnss_winbind.so (+ symlink на libnss_winbind.so.1 и libnss_winbind.so.2) и pam_winbind.so
настроил /etc/pam.conf:
httpd auth required /usr/local/lib/pam_winbind.so debug
сделал следующий smb.conf:
--------
[global]
workgroup = MYDOMAIN
server string = Samba Server
security = domain
log file = /usr/local/samba/var/log.%m
max log size = 50
password server = DC1 DC2
socket options = TCP_NODELAY
encrypt passwords = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
realm = mydomain
winbind separator = "/"
template shell = /sbin/nologin
template homedir = /home/%U
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind use default domain = yes
--------
успешно завел самбу в домен, пользователей видит, группы, все ок
сделал следующий .htaccess в нужной директории:
--------
AuthPAM_Enabled on
AuthType Basic
AuthName "GET LOST!"
<LIMIT GET POST>
require user testuser
</LIMIT>
--------
ну и потом пробуем в MSIE 6.0.2800 зайти в нашу папку:
вводим нужный логин/пароль и имеет такое сообщение:
--------
Authorization Required
This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.
--------
смотрим в логи
error_log:
--------
[Fri Nov 21 15:09:15 2003] [error] (13)Permission denied: access to /test/
failed for 10.8.80.50, reason: User not known to the underlying authentication module
--------
/var/log/messages
--------
Nov 21 15:09:15 dnzfr71471967 pam_winbind[38032]: user 'testuser' granted acces
--------
соответственно и вопрос - что и кому не нравится и как эту связку заставить нормально работать? В других форумах только констатация этого факта, а решений нет.
до этого пробовал httpd+mod_auth_pam+pam_smb_auth и httpd+mod_ntlm, оба варианта я запустил, нормально пускает... но эти варианты неприемлимы, по крайнем мере первая связка с pam_smb_auth, в этом случае нужно иметь локального пользователя с необходимым именем (пароль у локального *).
Второй вариант не устраивает в плане управления группой - нужно ручками создавать файл, где будут сгруппированы нужные аккаунты, локального пользователя в этом случае не надо. можно конечно через костыль сделать, поставить самбу, и переодически проверять доменные группы через wbinfo или net и формировать этот файл. Но как-то нет большого желания городить эти костыли, их мы всегда успеем сделать, хочется все=же решить имеющуюся задачу.
кстати, в варианте с mod_ntlm работает прозрачная авторизация, в варианте же PAM выскакивает окно для ввода логин/пароля.