The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"httpd + mod_auth_pam + pam_winbind"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"httpd + mod_auth_pam + pam_winbind"
Сообщение от HangMan emailИскать по авторуВ закладки on 21-Ноя-03, 14:00  (MSK)
Приветствую многоуважаемого 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 выскакивает окно для ввода логин/пароля.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "httpd + mod_auth_pam + pam_winbind"
Сообщение от HangMan emailИскать по авторуВ закладки on 23-Ноя-03, 12:42  (MSK)
к сведению читающих и мающихся:
mod_auth_pam после auth делает account, и как вы думаете куда он смотрит?
если что-то указано для httpd в качестве account, туда и посмотрит.
Если указывать pam_winbind, эта бяка через getpwnam смотрит пользователя, судя по nsswith.conf (забыл указать в первом посте), будет смотреть files и winbind, как показала практика порядок неважен - он по любому будет смотреть в локальную базу пользователей - а так как там у нас нет нашего
testuser, то и ответ будет соответствующий.
Для проверки я запретил pam_winbind проверять по account секции (тупо подсовываю PAM_SUCCESS) - все заработало - пускает кого надо. тут вопрос снят.

пока я ковырял этот вопрос появился другой - а как с домена забрать список юзеров, входящий в группу? через самбу получаем облом - я вообще не нашел такой возможности :( Может кто знает?

сейчас взял mod_auth_ldap (http://www.muquit.com/muquit/software/mod_auth_ldap/mod_auth_ldap.html), установил, настроил, запустил, и... наслаждаюсь - полное руление доступом к вебу через домен без изменения чего либо на unix-box.
В том модуле, что я взял, в лоб рулить доступом группам через require group возможно только в определенном случае:
The directive require group only works with netscape LDAP server schema and object class out of the box. You can use this directive to allow all the users belong to a certain group.

может я неправильно перевел - но на LDAP AD это работать не будет, посему hint:
require filter (memberOf=...)

плюс надо выставить правильный UIDAttr:
UID_Attr        sAMAccountName

это для LDAP AD

Вот и все, если не считать вопрос про получение списка юзеров группы через самбу тему считаю можно закрыть.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру