Samba 3.6.12 и NIS

Вопрос или проблема

Нам удалось использовать Samba и NIS на Samba 3.0.8 на Solaris 10 U5. Когда мы обновили систему до Solaris 10 U11, версия samba стала 3.6.12. И мы не можем аутентифицироваться как в старые времена.

Я не включил некоторые параметры ниже (создание маски директории и т.д.)

Старый smb.conf

    [global]
    workgroup = WORKGROUPNAME
    server string =  Samba Server
    security = SERVER
    password server = dc6n, dc7n
    username map = /etc/sfw/username.map
    local master = No
    dns proxy = No
    wins server = dc6n, dc7n
    kernel oplocks = No
    host msdfs = No
    map archive = No
    oplocks = No
    level2 oplocks = No

старый nsswitch.conf

    passwd files nis
    hosts  files nis 

Мы пытались установить ту же конфигурацию для Samba 3.6.12, но она не сработала. Поэтому я решил использовать security = ADS с Kerberos. Это сработало, но так, как мы не хотели. Потому что только пользователи домена Windows могли войти, а пользователи NIS – нет.

Новый /etc/smb.conf

    workgroup = WORKGROUPNAME
    realm = domain.com
    security = ADS
    password server = dc6n.domain.com
    utmp = Yes
    idmap config *:backend = tdb
    idmap config *:range = 5000-9999
    idmap config NETADM:backend = tdb
    idmap config NETADM:range = 10000-90000
    idmap uid = 100000-500000
    idmap gid = 100000-500000
    template homedir = /home/%U
    template shell = /bin/tcsh
    winbind cache time = 1800
    winbind enum users = No
    winbind enum groups = No
    winbind use default domain = Yes
    winbind separator = /
    create krb5 conf = No
    local master = yes
    domain login = yes
    domain master = yes
    preferred master = yes

Новый /etc/nsswitch.conf

    passwd files winbind  nis
    hosts  files winbind  nis 

Новый /etc/krb5.conf

    [libdefaults] 
        domain.com = domain.com
        dns_lookup_kdc = true 

    [realms] 
        symantec.local = { 
            kdc = dc6n.domain.com
            admin_server = dc6n.domain.com
        } 

    [domain_realm] 
    .domain.com = domain.com

Я могу получить информацию о пользователях из AD и NIS с помощью команд wbinfo и genent.

Как мы можем снова аутентифицироваться как в старые времена?

Убедитесь, что у вас есть запись для сессий winbind в файле /etc/pam.d/system-auth-ac.

Ответ или решение

С учётом вашего запроса о использованию Samba 3.6.12 с NIS на Solaris 10 U11, а также анализа уже выполненных вами конфигураций, приведу пошаговое решение для возврата к аутентификации в старом стиле.

Проблема

Вы успешно использовали Samba 3.0.8 с NIS на Solaris 10 U5, но после обновления до Solaris 10 U11 и Samba 3.6.12 возникли проблемы с аутентификацией пользователей. Настройки конфигурации Samba и NIS, которые были рабочими ранее, не дали результата в новой версии. Вы пробовали аутентификацию через Kerberos и Active Directory (ADS), но это не решает проблему, так как NIS-пользователи не могут войти в систему.

Анализ конфигураций

  1. Настройки Samba:
    Ваши текущие параметры в smb.conf указывают на использование ADS. Обратите внимание, что параметр security = ADS подразумевает, что Samba будет ожидать аутентификацию через Active Directory. Чтобы вернуться к аутентификации в старом стиле, такой как NIS, необходимо изменить параметры.

  2. Настройки NSS (Name Service Switch):
    В вашем новом nsswitch.conf указано использование winbind перед NIS. Это может вызвать проблемы с аутентификацией, если Samba не может подключиться к Active Directory. Параметры должны быть настроены так, чтобы NIS имел преимущество.

Рекомендации по исправлению конфигурации

  1. Изменить smb.conf:
    Установите security = user вместо security = ADS. Это позволит Samba использовать стандартную аутентификацию пользователей:

    [global]
    workgroup = WORKGROUPNAME
    server string = Samba Server
    security = user
    password server = dc6n, dc7n  ; если требуется
    username map = /etc/sfw/username.map
    local master = No
    dns proxy = No
    wins server = dc6n, dc7n
    kernel oplocks = No
    host msdfs = No
    map archive = No
    oplocks = No
    level2 oplocks = No
  2. Настроить nsswitch.conf:
    Поменяйте порядок в файле nsswitch.conf, чтобы NIS имел приоритет:

    passwd: nis files
    hosts: nis files
  3. Проверить PAM:
    Убедитесь, что настройки PAM соответствуют вашим требованиям для работы с NIS. Проверьте файл /etc/pam.d/system-auth-ac и добавьте следующие строки, если они отсутствуют:

    auth required pam_unix.so
    auth required pam_nis.so
  4. Перезагрузка служб:
    После внесения всех изменений перезагрузите службы Samba и NIS, чтобы применить конфигурации:

    svcadm restart samba
    svcadm restart nis

Проверка работоспособности

После внесения изменений проверьте:

  • Аутентификацию пользователей: Убедитесь, что NIS пользователи могут входить в систему.
  • Команды: Попробуйте использовать wbinfo -u и getent passwd, чтобы удостовериться, что информация о пользователях и группах корректно загружается из NIS.

Заключение

Следуя данным рекомендациям, вы сможете настроить Samba для работы с аутентификацией пользователей через NIS в старом стиле. Если после внесения изменений проблемы сохраняются, внимательно проверьте логи Samba на наличие ошибок и выполните дополнительные тесты для диагностики проблемы. Удачи в решении вашей задачи!

Оцените материал
Добавить комментарий

Капча загружается...