LINUX.ORG.RU
ФорумAdmin

Samba4 + FreeIPA

 , ,


0

1

Есть сервер FreeIPA (v. 4.3.1) с пользователями. Нужно поднять файловый сервер, (выбрал Samba) чтобы пользователи и группы брались с сервера IPA по LDAP. Есть учётная запись (пользователь) на FreeIPA, для обращения к FreeIPA серверу. Что подскажете, господа ?

Заводишь файловый сервер в домен freeipa. По идее нужно ещё поставить sssd-winbind, чтобы самба брала данные из sssd, а не из богомерзкого кровопийцы winbind'а.

cat << EOF > /etc/samba/smb.conf
[global]
    workgroup = $workgroup
    realm = $domain
    security = ads
    netbios name = "$host"
    wins support = no
    wins proxy = no

    password server = $domain
    kerberos method = dedicated keytab
    dedicated keytab file = /etc/krb5.keytab
    log level = 3
    log file = /var/log/samba/%m.log

    vfs objects = acl_xattr
    map acl inherit = Yes
    store dos attributes = Yes

    load printers = no
    show add printer wizard = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes
[share]
    path = /path/to/share
    read only = no
    valid users = vasya.pupkin
EOF

Должно работать. Если нет, то надо уже с конкретикой разбираться.

Ivan_qrt ★★★★★
()
Ответ на: комментарий от Ivan_qrt

Спасибо за ответ. Сделал так, не работает.

Добавил в smb.conf всё, кроме последней части

--

map acl inherit = Yes

store dos attributes = Yes

load printers = no

show add printer wizard = no

printing = bsd

printcap name = /dev/null

disable spoolss = yes

--

После перезагрузки smbd в журнале такие ошибки:

1.Connection to LDAP server failed for the 16 try!

2.smbldap_search_domain_info: Problem during LDAPsearch: Timed out

3.pdb_init_ldapsam: WARNING: Could not get domain info, nor add one to the domain. We cannot work reliably without it.

4.pdb backend ldapsam:ldap://***.*****.***/ did not correctly init (error was NT_STATUS_CANT_ACCESS_DOMAIN_INFO)

somelinuxuser
() автор топика
Ответ на: комментарий от mos

Этот мануал я видел изначально, когда приступал к задаче.

Доступа к IPA серверу у меня нет.

Есть учётная запись для работы с IPA по LDAP.

somelinuxuser
() автор топика
Ответ на: комментарий от Ivan_qrt

В конфиге вы указали

valid users = vasya.pupkin

А нужно ли ?

Ведь пользователи должны браться с FreeIPA.

somelinuxuser
() автор топика
Ответ на: комментарий от somelinuxuser

sssd-libwbclient поставил? Самбовский винбинд удалил? Сервер в домен ipa завёл? Весь смысл действия в том, чтобы перепоручить авторизацию sssd, а не самбе. А у тебя она сама пытается что-то делать.

Ну и забыл добавить. Нужно ещё:

cat << EOF > /etc/krb5.conf
[logging]
        default = FILE:/var/log/krb5libs.log
        kdc = FILE:/var/log/krb5kdc.log
        admin_server = FILE:/var/log/kadmind.log

[libdefaults]
        dns_lookup_realm = false
        ticket_lifetime = 24h
        renew_lifetime = 7d
        forwardable = true
        rdns = false
        default_realm = IPA.LOCAL
        default_ccache_name = KEYRING:persistent:%{uid}

[realms]
        IPA.LOCAL = {
                kdc = ipa.local
                admin_server = ipa.local
        }

[domain_realm]
        .ipa.local = IPA.LOCAL
        .ipa = IPA.LOCAL
        ipa.local = IPA.LOCAL
        ipa = IPA.LOCAL
EOF

Соответственно заменить ipa.local на название своего домена, kdc/admin_server на название контроллеров домена.

В конфиге вы указали valid users = vasya.pupkin

Это просто пример ограничений доступа. Можешь не использовать.

Ivan_qrt ★★★★★
()
Ответ на: комментарий от Ivan_qrt

1. sssd-libwbclient - был установлен

2. установил на всякий случай ещё

libwbclient-sssd-dev

3. winbind ов никаких не установлено, кроме пакета

libwbclient0

но удаление его повлечёт удаление и пакетов samba, samba-libs и нескольких других, проверил это.

4. Потенциальный файл сервер в домен IPA заведён мной изначально.

5. По имеющейся информации о 2х серверах FreeIPA (от админа, который ответственен за них) - протокол Kerberos на них в данной конфигурации не задействован.

6. OS серверов IPA и сервера, где планируется файловый сервер - GNU/Linux (сборка Ubuntu 16.04 (LTS)).

somelinuxuser
() автор топика
Ответ на: комментарий от somelinuxuser

По имеющейся информации о 2х серверах FreeIPA (от админа, который ответственен за них) - протокол Kerberos на них в данной конфигурации не задействован.

Тогда, походу, других вариантов нет. Все хотят керберос.

По идее, через sssd должно работать. Учитывая сообщения об ошибках, ты что-то сделал не так. В приведённом конфиге нет ни слова про ldapsam. Дефолтный бэкэнд, насколько я в курсе, tdbsam. А у тебя samba щемится на какой-то ldap-сервер. Странно это. Куда он, кстати щемится-то?

getent passwd у тебя пользователей видит? В домен сервер нормально зашёл?

Ivan_qrt ★★★★★
()
Ответ на: комментарий от Ivan_qrt

Да, прошу прощения, я изначально оставил опцию ldapsam и несколько параметров с ldap, так как предполагал, что это нужно для доступа по протоколу ldap. Сейчас привёл практически в строгое соответствие с тем конфигом, который вы указали в первом комменте.

Изначально у меня было действительно tdbsam, но с ним не работало. Сейчас снова вернул.

Каталог, который дан в общий доступ, виден через GUI в Linux, если ввести smb://ipaddr_of_sambaserver. При щелчке на нём, появляется окошко авторизации, данные не проходят и окошко появляется снова. (Но, так было и когда я настроил изначально, правда, без опции «password server»).

В журнале пишет

«Allowed connection from ***.***.***.***» (мой ip адрес рабоч станции).

И на этом всё.

Непонятно, где мне тогда в этом конфиге использовать админскую учётную запись для доступа Samba к LDAP серверу. (До этого я пробовал опцию

ldap admin dn

сейчас закоментировал).

Опцию

password server = ipaserver1:389 ipaserver2:389 *

указал уже в соответствии с man smb.conf

1.Узел с Samba ранее в домен зашёл нормально, без ошибок.

2.getent passwd пользователей видит.

3.сервис

sssd.service loaded active running

На всякий случай перезапустил.

somelinuxuser
() автор топика
Ответ на: комментарий от somelinuxuser

Самба не умеет работать с ипой. Есть некий ipasam, но, судя по всему, без кербероса и геморроя он не заведется.

Поэтому всю работу с ипой должен взять на себя sssd-libwbclient.

Убирай из smb.conf все, что имеет отношение к авторизации, выкладывай сюда smb.conf, sssd.conf и логи самбы и sssd.

Пробуй авторизоваться на шаре с указанием домена и без. Ну и придется пробовать много разных вариантов. У меня ипы под рукой нет, чтобы проверить.

Ivan_qrt ★★★★★
()
Ответ на: комментарий от Ivan_qrt

Спасибо вам большое за помощь и подсказку.

Я тут пытаюсь сам разобраться со всем этим ...

somelinuxuser
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.