URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 71921
[ Назад ]

Исходное сообщение
"Настройка Samba для авторизации в AD"

Отправлено Orlic , 04-Фев-07 13:09 
Добрый день.
Устанавливаю Samba для авторизации в домене Win2k3. Параллельно читаю доки и форум. Запутался немного.

Для включения FreeBSD (6.2) в домен Win2k3 (native) необходимы пакеты Kerberos5 (установил heimdal-0.7.2_2, настроил по статье из последнего "Системного Администратора"), установил также openldap-client-2.3.27 (его никак не конфигурирую). Скачал свежий пакет Samba, сказал
# make config
выбрал режимы ADS LDAP WINBIND, ну и другие по умолчанию оставил.
# make
# make install

Теперь по http://us4.samba.org/samba/docs/man/Samba-HOWTO-Collection/w... нужно настроить WINBIND. Вот тут мне не ясно, что для этого нужно? PAM я никак не настраивал, ничего не трогал. nsswitch.conf тоже не трогал.
Нужно ли PAM как то настраивать?
Что прописывать в nsswitch.conf?


Содержание

Сообщения в этом обсуждении
"Настройка Samba для авторизации в AD"
Отправлено AlexF , 04-Фев-07 13:29 
если "wbinfo -u" "wbinfo -a user%password" работает, то настраиваем nsswitch.conf:
group: files winbind
passwd: files winbind

заодно проверяем наличие nss_winbind.so.1

проверяем:  pw usershow -a
если пользователи видны, то можно уже настраивать pam для соответствующего сервиса:
В общем случае что-то типа:
auth    sufficient      pam_unix.so     no_warn try_first_pass
auth       required     /usr/local/lib/pam_winbind.so



"Настройка Samba для авторизации в AD"
Отправлено Orlic , 05-Фев-07 08:30 
>если "wbinfo -u" "wbinfo -a user%password" работает, то настраиваем nsswitch.conf:
>group: files winbind
>passwd: files winbind
>
>заодно проверяем наличие nss_winbind.so.1
>
>проверяем:  pw usershow -a
>если пользователи видны, то можно уже настраивать pam для соответствующего сервиса:
>В общем случае что-то типа:
>auth    sufficient      pam_unix.so  
>   no_warn try_first_pass
>auth       required    
>/usr/local/lib/pam_winbind.so

Настройка PAM для соответствующего сервиса - это в /etc/pam.d/ добавить файл с настройками и соответствующий модуль?... А модуль создается при компиляции сервиса с поддержкой PAM, правильно?

И еще... Если пакет, самба, к примеру, уже установлена, каким образом можно узнать, с какими опциями она была сконфигурирована?... Не удалять же пакет и заново конфигурировать и устанавливать.


"Настройка Samba для авторизации в AD"
Отправлено AlexF , 05-Фев-07 11:29 
>Настройка PAM для соответствующего сервиса - это в /etc/pam.d/ добавить файл с
>настройками и соответствующий модуль?... А модуль создается при компиляции сервиса с
>поддержкой PAM, правильно?

совершенно верно, в общем виде pam-модуль это pam_что-то.so.?, лежащий в /usr/lib или /usr/local/lib

>И еще... Если пакет, самба, к примеру, уже установлена, каким образом можно
>узнать, с какими опциями она была сконфигурирована?... Не удалять же пакет
>и заново конфигурировать и устанавливать.

Наверное, самое простое - это ldd, к примеру:
ldd saslauthd
        libgssapi.so.8 => /usr/lib/libgssapi.so.8 (0x2807f000)
        libkrb5.so.8 => /usr/lib/libkrb5.so.8 (0x2808d000)
        libasn1.so.8 => /usr/lib/libasn1.so.8 (0x280c1000)
        libcrypto.so.4 => /lib/libcrypto.so.4 (0x280e2000)
        libroken.so.8 => /usr/lib/libroken.so.8 (0x281d4000)
        libcrypt.so.3 => /lib/libcrypt.so.3 (0x281e0000)
        libcom_err.so.3 => /usr/lib/libcom_err.so.3 (0x281f8000)
        libpam.so.3 => /usr/lib/libpam.so.3 (0x281fa000)
        libc.so.6 => /lib/libc.so.6 (0x28201000)
Видно, что saslauthd собран с поддержкой Kerberos и pam


"Настройка Samba для авторизации в AD"
Отправлено Orlic , 05-Фев-07 12:08 
>>Настройка PAM для соответствующего сервиса - это в /etc/pam.d/ добавить файл с
>>настройками и соответствующий модуль?... А модуль создается при компиляции сервиса с
>>поддержкой PAM, правильно?
>
>совершенно верно, в общем виде pam-модуль это pam_что-то.so.?, лежащий в /usr/lib или
>/usr/local/lib
>
>>И еще... Если пакет, самба, к примеру, уже установлена, каким образом можно
>>узнать, с какими опциями она была сконфигурирована?... Не удалять же пакет
>>и заново конфигурировать и устанавливать.
>
по поводу определения опций - нашел, что при установке из портов в /var/db/ports/ создается папка с именем установленного порта, а в ней файл OPTIONS со всеми настройками.

По поводу WINBIND. Самбу я установил, стартует с поддержкой winbind. Билет Kerberos я получаю, в домен командой
net ads join -U user -w DOMAIN.LOCAL присоединился нормально. Теперь:
wbinfo -a user%password выдает кучу ошибок о неправильном формате nsswitch - говорит, что compat используется с другими источниками:
Feb  5 11:55:56 gate kinit: NSSWITCH(nsparser): /etc/nsswitch.conf line 5: 'compat' used with other sources
Feb  5 11:55:56 gate kernel: Feb  5 11:55:56 gate kinit: NSSWITCH(nsparser): /etc/nsswitch.conf line 5: 'compat' used with other sources

Вот мой nsswitch.conf (пока я его не правил)... При добавлении WINBIND получал ошибки.
group: compat
group_compat: nis
hosts: files dns
networks: files
passwd: compat
passwd_compat: nis
shells: files



"Настройка Samba для авторизации в AD"
Отправлено AlexF , 05-Фев-07 16:27 
>по поводу определения опций - нашел, что при установке из портов в
>/var/db/ports/ создается папка с именем установленного порта, а в ней файл
>OPTIONS со всеми настройками.
Это если собирать из портов, а если уже готовый пакадж? Только ldd

>По поводу WINBIND. Самбу я установил, стартует с поддержкой winbind.
Если только для авторизации, то воообще достаточно только одного winbindd_enable="YES"
>
>Вот мой nsswitch.conf (пока я его не правил)... При добавлении WINBIND получал
>ошибки.
>group: compat
>group_compat: nis
>hosts: files dns
>networks: files
>passwd: compat
>passwd_compat: nis
>shells: files
Заменить:
group: files winbind
passwd: files winbind


"Настройка Samba для авторизации в AD"
Отправлено Orlic , 06-Фев-07 08:06 
>>по поводу определения опций - нашел, что при установке из портов в
>>/var/db/ports/ создается папка с именем установленного порта, а в ней файл
>>OPTIONS со всеми настройками.
>Это если собирать из портов, а если уже готовый пакадж? Только ldd
>
>
>>По поводу WINBIND. Самбу я установил, стартует с поддержкой winbind.
>Если только для авторизации, то воообще достаточно только одного winbindd_enable="YES"
>>

>Заменить:
>group: files winbind
>passwd: files winbind

Для подключения к домену используется следующий алгоритм:
# kinit admin@DOMAIN.RU
# net ads join -U admin -w DOMAIN.RU

Что делать после перезагрузки сервера?.. или когда срок действия билета истечет?


"Настройка Samba для авторизации в AD"
Отправлено AlexF , 06-Фев-07 12:13 
>Для подключения к домену используется следующий алгоритм:
># kinit admin@DOMAIN.RU
># net ads join -U admin -w DOMAIN.RU
>
>Что делать после перезагрузки сервера?.. или когда срок действия билета истечет?

Ничего не делать, все будет работать, только сильно желательно периодически синхронизировать время на контроллере и на samba-машине. Проще всего, как мне кажется, засунуть rdate в crontab.


"Настройка Samba для авторизации в AD"
Отправлено Skif , 06-Фев-07 11:18 
Если будете пользовать winbind для авторизации, обратите внимание, что в некоторых версиях либу winbind-а надо ложить руками в /usr/lib, иначе он ее видеть не будет. Ldconfig тут не поможет, видать где-то по сырцам девелоперы загнали руками.

"Настройка Samba для авторизации в AD"
Отправлено Orlic , 06-Фев-07 14:15 
>Если будете пользовать winbind для авторизации, обратите внимание, что в некоторых версиях
>либу winbind-а надо ложить руками в /usr/lib, иначе он ее видеть
>не будет. Ldconfig тут не поможет, видать где-то по сырцам девелоперы
>загнали руками.

Есть pam_winbind.so в /usr/local/lib. Оно?
По поводу автоматического старта - что-то у меня не получается... Буду перечитывать маны.


"Настройка Samba для авторизации в AD"
Отправлено Skif , 07-Фев-07 15:59 
>>Если будете пользовать winbind для авторизации, обратите внимание, что в некоторых версиях
>>либу winbind-а надо ложить руками в /usr/lib, иначе он ее видеть
>>не будет. Ldconfig тут не поможет, видать где-то по сырцам девелоперы
>>загнали руками.
>
>Есть pam_winbind.so в /usr/local/lib. Оно?
>По поводу автоматического старта - что-то у меня не получается... Буду перечитывать
>маны.

Да.

[root@ackinak-mob.bsd] /root/:ll /usr/lib | grep winbi
lrwxr-xr-x  1 root  wheel       29  5 май  2006 pam_winbind.so -> /usr/local/lib/pam_winbind.so
[root@ackinak-mob.bsd] /root/:


"Настройка Samba для авторизации в AD"
Отправлено Orlic , 12-Фев-07 10:18 
Помогите разобраться с настройкой. Какие еще файлы править? Как настроить PAM для winbind?

Я пока что поправил файл other:
# cat /etc/pam.d/other
#
# $FreeBSD: src/etc/pam.d/other,v 1.10 2003/04/30 21:57:54 markm Exp $
#
# PAM configuration for the "other" service
#

# auth
auth            required        pam_nologin.so          no_warn
auth            required        /usr/lib/pam_winbind.so
auth            sufficient      pam_opie.so             no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so       no_warn allow_local
auth            sufficient      pam_krb5.so             no_warn try_first_pass
auth            sufficient      /usr/lib/pam_winbind.so use_first_pass shadow nullok
auth            required        pam_unix.so             no_warn try_first_pass

account         required        /usr/lib/pam_winbind.so

# session
session         required        pam_permit.so

# password
password        required        pam_permit.so

Вот мой smb.conf
# cat /usr/local/etc/smb.conf
[global]
        ................................
        workgroup = DOMAIN
        realm = DOMAIN.LOCAL
        server string = Интернет сервер
        interfaces = 192.168.0.1/24
        security = ADS
        auth methods = winbind
        lanman auth = No
        ntlm auth = No
        client NTLMv2 auth = Yes
        client lanman auth = No
        client plaintext auth = No
        log level = 10 ads:10
        log file = /var/log/samba/log.%m
        max log size = 50
        max xmit = 65535
        client signing = Yes
        server signing = Yes
        deadtime = 5
        paranoid server security = No
        preferred master = No
        local master = No
        domain master = No
        dns proxy = No
        ldap ssl = no
        winbind separator = +
        winbind enum users = Yes
        winbind enum groups = Yes
        winbind use default domain = Yes
        winbind refresh tickets = Yes
        inherit acls = Yes
        hosts allow = 192.168.0., 127.
        map acl inherit = Yes
        hide special files = Yes
        map archive = No
        store dos attributes = Yes
        wide links = No
        template shell = /usr/local/bin/bash
        idmap uid = 10000-20000
        idmap gid = 10000-20000

# net ads testjoin
Join is OK

#wbinfo -u
выдает список пользователей домена

#pw usershow -a
тоже отображает пользователей и локальных, и доменных.

Остался PAM для Samba и для Squid


"Настройка Samba для авторизации в AD"
Отправлено Skif , 13-Фев-07 10:02 
Так как я пользуюполностью виндовую авторизацию у себя у меня во всех pam-овских файлах одно и тоже:
[root@ackinak-mob.bsd] /root/:less /etc/pam.d/login
#
# $FreeBSD: src/etc/pam.d/sshd,v 1.15 2003/04/30 21:57:54 markm Exp $
#
# PAM configuration for the "sshd" service
#
# auth
auth required pam_nologin.so no_warm
auth sufficient pam_winbind.so
auth sufficient pam_opie.so no_warm no_fake_prompts
auth requisite pam_opieaccess.so no_warm allow_local
auth required pam_unix.so no_warm try_first_pass
# account
account sufficient pam_winbind.so
account required pam_unix.so
# session
session required pam_permit.so