Вопрос или проблема
Нам удалось использовать 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-пользователи не могут войти в систему.
Анализ конфигураций
-
Настройки Samba:
Ваши текущие параметры вsmb.conf
указывают на использование ADS. Обратите внимание, что параметрsecurity = ADS
подразумевает, что Samba будет ожидать аутентификацию через Active Directory. Чтобы вернуться к аутентификации в старом стиле, такой как NIS, необходимо изменить параметры. -
Настройки NSS (Name Service Switch):
В вашем новомnsswitch.conf
указано использованиеwinbind
перед NIS. Это может вызвать проблемы с аутентификацией, если Samba не может подключиться к Active Directory. Параметры должны быть настроены так, чтобы NIS имел преимущество.
Рекомендации по исправлению конфигурации
-
Изменить
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
-
Настроить
nsswitch.conf
:
Поменяйте порядок в файлеnsswitch.conf
, чтобы NIS имел приоритет:passwd: nis files hosts: nis files
-
Проверить PAM:
Убедитесь, что настройки PAM соответствуют вашим требованиям для работы с NIS. Проверьте файл/etc/pam.d/system-auth-ac
и добавьте следующие строки, если они отсутствуют:auth required pam_unix.so auth required pam_nis.so
-
Перезагрузка служб:
После внесения всех изменений перезагрузите службы Samba и NIS, чтобы применить конфигурации:svcadm restart samba svcadm restart nis
Проверка работоспособности
После внесения изменений проверьте:
- Аутентификацию пользователей: Убедитесь, что NIS пользователи могут входить в систему.
- Команды: Попробуйте использовать
wbinfo -u
иgetent passwd
, чтобы удостовериться, что информация о пользователях и группах корректно загружается из NIS.
Заключение
Следуя данным рекомендациям, вы сможете настроить Samba для работы с аутентификацией пользователей через NIS в старом стиле. Если после внесения изменений проблемы сохраняются, внимательно проверьте логи Samba на наличие ошибок и выполните дополнительные тесты для диагностики проблемы. Удачи в решении вашей задачи!