Решено: Проблемы с авторизацией в AD через LDAP (Решено.)
Модератор: Модераторы разделов
Решено: Проблемы с авторизацией в AD через LDAP
В связи с "поломкой" авторизации через winbind (см. здесь) возникла идея авторизоваться в AD через LDAP. Мануалы "курил" здесь и здесь (см пункт 11.3). В результате - клиент и обозреватель LDAP содержимое LDAP AD успешно видят, однако не "getent passwd" ни обозреватель пользователей в Yast пользователей из AD невидит (и не авторизует - соответственно). После перенастройки соединения на OpenLDAP - все успешно работает. Так что скорее всего pam тут не причем. ldap.conf прописывал и как в мануалах и по заготовке для SFU3,5 внутри. Пробовал на OpenSUSE 10.2 и 10.3
Кто настраивал, поделитесь опытом.
И главное - работает ли это в SUSE вообще?
Кто настраивал, поделитесь опытом.
И главное - работает ли это в SUSE вообще?
Re: Решено: Проблемы с авторизацией в AD через LDAP
UTiM писал(а): ↑09.11.2007 14:46В связи с "поломкой" авторизации через winbind (см. здесь) возникла идея авторизоваться в AD через LDAP. Мануалы "курил" здесь и здесь (см пункт 11.3). В результате - клиент и обозреватель LDAP содержимое LDAP AD успешно видят, однако не "getent passwd" ни обозреватель пользователей в Yast пользователей из AD невидит (и не авторизует - соответственно). После перенастройки соединения на OpenLDAP - все успешно работает. Так что скорее всего pam тут не причем. ldap.conf прописывал и как в мануалах и по заготовке для SFU3,5 внутри. Пробовал на OpenSUSE 10.2 и 10.3
Кто настраивал, поделитесь опытом.
И главное - работает ли это в SUSE вообще?
Вообще работает, только не через LDAP. MAD не является LDAP-совместимым каталогом, отсюда всё и вытекает.
MOSQIT: Novell/Axigen/Syncsort/Moonwalk/CAStor
Re: Решено: Проблемы с авторизацией в AD через LDAP
Что не является - это понятно. Для этого и ставился на виндовый сервер SFU3,5 (который добавляет недостающие поля в AD) и прописывались маппинги в ldap.conf (что-бы "совместить").
Возможно всетаки дело в pam_ldap, например здесь пишут, что "не все pam_ldap совместимы с AD". Вообще информация из AD LDAP например с помощью ldapsearch цепляется замечательно (например путь к подключаемому сетевому диску), задача теперь "зацепить" самих пользователей. Вот здесь человек примерно то-же сделать пытается. Мне главное знать - у кого нибудь такое работает?
Re: Решено: Проблемы с авторизацией в AD через LDAP
UTiM писал(а): ↑09.11.2007 15:45
Что не является - это понятно. Для этого и ставился на виндовый сервер SFU3,5 (который добавляет недостающие поля в AD) и прописывались маппинги в ldap.conf (что-бы "совместить").
Возможно всетаки дело в pam_ldap, например здесь пишут, что "не все pam_ldap совместимы с AD". Вообще информация из AD LDAP например с помощью ldapsearch цепляется замечательно (например путь подключаемому сетевому диску), задача теперь "зацепить" самих пользователей. Вот здесь человек примерно то-же сделать пытается. Мне главное знать - у кого нибудь такое работает?
Смотрю тема популярная, может кто-нить из успешно реализовавших сделает подробную хаутушку?
Кста, вопрос, в опенсусе есть вариант регистрации пользователей через Windows Domain, кто-нить пробовал? В SLED это дело работает, на опенсусе не проверял.
MOSQIT: Novell/Axigen/Syncsort/Moonwalk/CAStor
Re: Решено: Проблемы с авторизацией в AD через LDAP
Это который при установке предлагается? Пробовал на 10.2 Попадаешь в плагин Yast "Регестрация в домене виндовс" (через samba-winbind), при этом настроить kerberos система предложить забывает - соответственно ничего и не работает (вернее работает, но уже после настройки kerberos). А поскольку winbind в SLED10.1, SLES10.1 -поломан (как я писал здесь - там повидимому самбу взяли из поздних обновлений 10.2) - то и результат -"никакой"
Re: Решено: Проблемы с авторизацией в AD через LDAP
UTiM писал(а): ↑09.11.2007 16:41
Это который при установке предлагается? Пробовал на 10.2 Попадаешь в плагин Yast "Регестрация в домене виндовс" (через samba-winbind), при этом настроить kerberos система предложить забывает - соответственно ничего и не работает. А поскольку winbind в SLED10.1, SLES10.1 -поломан (как я писал здесь - там повидимому самбу взяли из поздних обновлений 10.2) - то и результат -"никакой"
Если английским владеешь то зарегистрируйся bugzilla.novell.com, напиши разработчикам в чем они неправы. А вообще описанные тобой симптомы весьма странны, в SLED10SP1 вход в домен винды железно работает.
MOSQIT: Novell/Axigen/Syncsort/Moonwalk/CAStor
Re: Решено: Проблемы с авторизацией в AD через LDAP
Может быть я чего-то не понял: вопрос в том, чтобы
1) пользователи домена (зарегистрированные в Win AD) могли заходить в suse
2) в управление пользователями Yast-а не видно пользователей домена
3) из Yast-а нельзя завести пользователя в AD
4) не получается управлять пользователями в случае suse как ADS
?
1) в 10.3 работает на ура (при установке выбрал управление пользователями win domain).
2) не работает (у меня)
3) не работает (у меня)
4) не копенгаген
1) пользователи домена (зарегистрированные в Win AD) могли заходить в suse
2) в управление пользователями Yast-а не видно пользователей домена
3) из Yast-а нельзя завести пользователя в AD
4) не получается управлять пользователями в случае suse как ADS
?
1) в 10.3 работает на ура (при установке выбрал управление пользователями win domain).
2) не работает (у меня)
3) не работает (у меня)
4) не копенгаген
Re: Решено: Проблемы с авторизацией в AD через LDAP
Только что в SLED10SP1 откатил самбу на состояние поставки (3.0.24-2.23), вышел из домена и попытался опять присоединится (через Yast или "ручками"). Результат:
Код: Выделить всё
utils/net_ads.c:ads_statup_int(285)
Поскольку эти игры надоели, то и смотрю в сторону AD через LDAP. Кроме того, там есть свои "вкусности".... если получится..
Re: Решено: Проблемы с авторизацией в AD через LDAP
qqq1971 писал(а): ↑09.11.2007 17:36Может быть я чего-то не понял: вопрос в том, чтобы
1) пользователи домена (зарегистрированные в Win AD) могли заходить в suse
2) в управление пользователями Yast-а не видно пользователей домена
3) из Yast-а нельзя завести пользователя в AD
4) не получается управлять пользователями в случае suse как ADS
?
1) в 10.3 работает на ура (при установке выбрал управление пользователями win domain).
2) не работает (у меня)
3) не работает (у меня)
4) не копенгаген
Это все samba+winbind, поэтому:
п.1 - работает не всегда, вот например.
п.2 - Пользователи в Yast будут видны только в случае авторизации в AD через LDAP
п.3 - Скорее всего не получится при любом способе авторизации, да и ненужно и опасно через "неродной" клиент.
п.4 - такой задачи и не стоит .
Re: Решено: Проблемы с авторизацией в AD через LDAP
10.2 у меня поставлено штук 5. Все нормально вошли в домен. krb5.conf настроен ястом автоматически во всех случаях. Также, с помощью яст, выбран эталонный ntp-сервер и настроен на синнхронизацию при старте системы.
Кстати, с ntpd в линуксе есть интересная фишка - если виндовый сервер не является эталонным (читай не синхронизируется через тырнет), то линукс, с большой степенью вероятности, не будет синхзронизировать время с вендой.
ЗЫ: Версии самбы - коробочная и обновленная 3.0.26 (вроде)
10.1 - 8 штук. Ввожу в домен, перегружаю, вхожу под рутом, еще раз ввожу в домен. прописываю скрипт в crontab содержания: net time set -S ip_контроллера_домена на выполнение раз в минуту.
все работает отлично.
1. Почти все зависит от кривизны настройки виндового домена.
2. По-внимательнее с синхронизацией времени
3. Для AD в smb.conf security = ads
Кстати, с ntpd в линуксе есть интересная фишка - если виндовый сервер не является эталонным (читай не синхронизируется через тырнет), то линукс, с большой степенью вероятности, не будет синхзронизировать время с вендой.
ЗЫ: Версии самбы - коробочная и обновленная 3.0.26 (вроде)
10.1 - 8 штук. Ввожу в домен, перегружаю, вхожу под рутом, еще раз ввожу в домен. прописываю скрипт в crontab содержания: net time set -S ip_контроллера_домена на выполнение раз в минуту.
все работает отлично.
1. Почти все зависит от кривизны настройки виндового домена.
2. По-внимательнее с синхронизацией времени
3. Для AD в smb.conf security = ads
Re: Решено: Проблемы с авторизацией в AD через LDAP
Аналогично для 10.3. Все делал через Yast. Автоматом поставились дополнительные пакеты (какие не помню). Одна проблема была. У нас домен имеет как бы два имени - XXX.YYYY.RU и XXXYYYY (сужу со своей дилетантской точки зрения). При присоединении к домену через Yast нужно указывать XXX.YYYY.RU, на XXXYYYY почему-то ругается нехорошо. В 10.2, наоборот, указывал XXXYYYY. А при входе в kdm показывает XXXYYYY.
Кстати, AD у нас на win 2003, а у меня в smb.conf security = domain. С ads были какие-то проблемы.
Хотя, поставил ads, перегрузил - тоже все работает.
Обязательно нужно настроить синхронизацию времени. В 10.2 у меня были проблемы, когда вдруг из списка доступных доменов в kdm все пропадало кроме local. Лечилось настройкой синхронизации времени, кажется (это было оч. давно).
Еще один момент - сетевые сервисы не успевают за запуском kdm. Т. е. мне, например, нужно подождать пока все сервисы не стартуют. Только потом можно логиниться.
~> rpm -qa | grep samba
kdebase3-samba-3.5.7-87
samba-winbind-3.0.26a-3
samba-3.0.26a-3
yast2-samba-client-2.15.11-33
samba-client-3.0.26a-3
yast2-samba-server-2.15.7-57
~> rpm -qa | grep krb
krb5-client-1.6.2-22
krb5-1.6.2-22
krb5-devel-1.6.2-22
Если нужны мои конфиги - выложу. Только какие конкретно?
Кстати, AD у нас на win 2003, а у меня в smb.conf security = domain. С ads были какие-то проблемы.
Хотя, поставил ads, перегрузил - тоже все работает.
Обязательно нужно настроить синхронизацию времени. В 10.2 у меня были проблемы, когда вдруг из списка доступных доменов в kdm все пропадало кроме local. Лечилось настройкой синхронизации времени, кажется (это было оч. давно).
Еще один момент - сетевые сервисы не успевают за запуском kdm. Т. е. мне, например, нужно подождать пока все сервисы не стартуют. Только потом можно логиниться.
~> rpm -qa | grep samba
kdebase3-samba-3.5.7-87
samba-winbind-3.0.26a-3
samba-3.0.26a-3
yast2-samba-client-2.15.11-33
samba-client-3.0.26a-3
yast2-samba-server-2.15.7-57
~> rpm -qa | grep krb
krb5-client-1.6.2-22
krb5-1.6.2-22
krb5-devel-1.6.2-22
Если нужны мои конфиги - выложу. Только какие конкретно?
Re: Решено: Проблемы с авторизацией в AD через LDAP
NiKoLa_N писал(а): ↑10.11.2007 11:0310.2 у меня поставлено штук 5. Все нормально вошли в домен. krb5.conf настроен ястом автоматически во всех случаях. Также, с помощью яст, выбран эталонный ntp-сервер и настроен на синнхронизацию при старте системы.
Кстати, с ntpd в линуксе есть интересная фишка - если виндовый сервер не является эталонным (читай не синхронизируется через тырнет), то линукс, с большой степенью вероятности, не будет синхзронизировать время с вендой.
ЗЫ: Версии самбы - коробочная и обновленная 3.0.26 (вроде)
10.1 - 8 штук. Ввожу в домен, перегружаю, вхожу под рутом, еще раз ввожу в домен. прописываю скрипт в crontab содержания: net time set -S ip_контроллера_домена на выполнение раз в минуту.
все работает отлично.
1. Почти все зависит от кривизны настройки виндового домена.
2. По-внимательнее с синхронизацией времени
3. Для AD в smb.conf security = ads
С входом в домен через samba-winbind-kerberos и их настройкой в 10.1 и 10.2 нет проблем. При определенном подкручивании все работает.
Вопрос был в настройке входа через LDAP!!!!
Re: Решено: Проблемы с авторизацией в AD через LDAP
Вот и я в посте по 10.3 здесь примерно о том-же (пытался init 3... и т.п.). Иногда windbind стартует нормально. Но происходит это "случайным" образом. Так работать нельзя!
Ребята, с настройками winbind у меня нет проблем. Здесь уже все изучено. Просто, если планируется ставить Linux не только себе, а всей конторе - механизм авторизации должен работать "как часы", а не зависеть от "фазы луны". Поэтому и ищем "новые пути"
Re: Решено: Проблемы с авторизацией в AD через LDAP
Ну что, ВСЕ РАБОТАЕТ!
Авторизуется и через LDAP и как бонус (если запустить соответствующий сервис на винде) через NIS
"getent passwd" пользователей видит. Еще бы в оснастке Yast "управление пользователями" увидеть пользователей AD LDAP (также как оснастка видит NIS или OpenLDAP) но это уже придирки...
Надо еще поиграться с правами и группами, выбрать как лучше цеплять сетевые ресурсы (самбой или NFS) учитывая что серваки есть и те и другие, а SFU3,5 позволяет делать как NFS шары на винде, так и шлюзовать NFS в микрософтовскую шару.
Короче. Если нужны подробности и конфиги, чирканиете здесь - выложу.
Советы и рекомендации "знатоков" по поводу моих рассуждений с благодарностью принимаются...
Авторизуется и через LDAP и как бонус (если запустить соответствующий сервис на винде) через NIS
"getent passwd" пользователей видит. Еще бы в оснастке Yast "управление пользователями" увидеть пользователей AD LDAP (также как оснастка видит NIS или OpenLDAP) но это уже придирки...
Надо еще поиграться с правами и группами, выбрать как лучше цеплять сетевые ресурсы (самбой или NFS) учитывая что серваки есть и те и другие, а SFU3,5 позволяет делать как NFS шары на винде, так и шлюзовать NFS в микрософтовскую шару.
Короче. Если нужны подробности и конфиги, чирканиете здесь - выложу.
Советы и рекомендации "знатоков" по поводу моих рассуждений с благодарностью принимаются...
Re: Решено: Проблемы с авторизацией в AD через LDAP
Ну что, ВСЕ РАБОТАЕТ!
Поздравляю.
Если нужны подробности и конфиги
Нужны.
Re: Решено: Проблемы с авторизацией в AD через LDAP
Итак, мой рецепт.
Качаем SFU3.5 (www.microsoft.com/windows/sfu). Бесплатно. Размер примерно 230 Мб.
На сервере Windows:
Для Linux...
Подготовка.
Данные действия делать, возможно, не обязательно, но позволить в дальнейшем избежать лишних проблем и уж точно ненавредит.
Использование NIS:
Использование LDAP:
Более общие случаи настроек и конфигураций можно подсмотреть по данной ссылке
Замечания и предложения приветствуются...
Качаем SFU3.5 (www.microsoft.com/windows/sfu). Бесплатно. Размер примерно 230 Мб.
На сервере Windows:
- Инсталлируем regsvr32 с:\WINNT\system32\schmmgmt.dll (необходимость не проверял, но точно не помешает )
- Ставим SFU (Можно по умолчанию, а можно только NIS. Имя домена NIS оставляем пустым - система его задаст автоматом в соотв. с кратким именем домена AD). Перезагруз.
- Выбираем группы, которые будут видны в Linux. Для этого в свойствах группы на новой вкладке UNIX Attributes выбираем из списка NIS Domain (он там один)
- Выбираем пользователей, котрым хотим разрешить логинится в LINUX. Для этого также в UNIX Attributes выбираем из списка NIS Domain . (Эта операция добавляет в схему LDAP нужные атрибуты). Выбираем Primay Group.
- Если планируем использовать NIS, то тоже самое проделываем с компьютерами, если они уже есть в списке AD. Которых нет - добавляем (ручками или потом с помощью "net ads join..." - нужна будет samba/winbind).
- Обязательно производим процедуру смены пароля пользователя виндовс (можно на тот-же). Это нужно для того, что бы его хеш появился в новом поле схемы LDAP.
- Если планируем для авторизации использовать NIS, стартуем службу Server for NIS ручками (по умолчанию она отключена).
- Если будем использовать LDAP заводим в AD нового пользователя с минимальным набором прав (главное - право просмотра схемы LDAP). Имеено эту учетную запись будем использовать для соединения с AD.
- Если есть DHCP то можно прописать туда адреса серверов NIS и NTP - потом пригодится!
Для Linux...
Подготовка.
Данные действия делать, возможно, не обязательно, но позволить в дальнейшем избежать лишних проблем и уж точно ненавредит.
- Настраиваем синхронизацию времени NTP и Kerberos. Kerberos должен быть настроен, но авторизация выключена. (Возможно потребуется ручками установить krb-client).
- Желательно прописать в hosts IP адрес контроллера домена и сопоставить ему полное имя контроллера, полное имя домена и краткое имя домена. (Даже если вы уверены в своем DNS)
- Если планируем использовать LDAP - можно заранее поставить необходимые пакеты nss_ldap и pam_ldap
Использование NIS:
- Заходим в Yast>Серевые службы>Настройка клиента NIS. Ставим "использовать". Если ранее настроили DHCP можно сразу "завершить". Иначе прописываем краткое имя домена и адрес сервера. Закрываем настройки.
- В начало файла /ets/pam.d/common-session прописываем строку session optional pam_mkhomedir.so skel=/etc/skel/ umask=0022. Внимание! После каждого завершения конфигурации проверяем наличие этой строки, так как Yast норовит после каждого визита в настройки ее прибить.Файлы nsswitch.conf и остальные /etc/pam.d можно не проверять, Yast их настраивает корректно автоматом.
- Проверяем видимость доменных пользователей командой "getent password" и любуемся в "Управлении пользователями" выбрав фильтр "NIS"
Использование LDAP:
- Создаем или правим в /etc/ файлик ldap.conf следующего содержания, прописывая туда собственные настройки.
Код: Выделить всё
#Адрес контроллера домена host 192.168.1.1 #База поиска base DC=firma,DC=local #Ищем в папке и ниже в подпапках scope sub #можно не указывать #port 389 ldap_version 3 # Тот самый аккаунт для доступ к LDAP, создан в контейнере Users с именем ldap и паролем qwerty binddn CN=ldap,CN=Users,DC=firma,DC=local bindpw qwerty # Когда вы будете вводить имя пользователя и пароль, будут применяться следующие объекты и атрибуты из AD: pam_filter objectclass=User pam_login_attribute msSFU30Name pam_password ad pam_member_attribute msSFU30PosixMemberof #в принципе и так работает #nss_schema rfc2307bis # Эти записи нужны для ускорения поиска. В данном случае все пользователи хранятся в cn –> Users nss_base_passwd cn=Users,dc=firma,dc=local?sub nss_base_shadow cn=Users,dc=firma,dc=local?sub nss_base_group cn=Users,dc=firma,dc=local?sub # Эти записи относятся к модулю nss_ldap, преображают объекты и атрибуты AD к виду, принятому в LDAP nss_map_objectclass posixAccount User nss_map_objectclass shadowAccount User nss_map_objectclass posixGroup Group nss_map_attribute uid msSFU30Name nss_map_attribute uidNumber msSFU30UidNumber nss_map_attribute gidNumber msSFU30GidNumber nss_map_attribute uniqueMember msSFU30PosixMember nss_map_attribute userPassword msSFU30Password nss_map_attribute homeDirectory msSFU30HomeDirectory nss_map_attribute loginShell msSFU30LoginShell #эти две строки возможно ненужны nss_map_attribute cn sAMAccountName nss_map_attribute gecos name ssl start_tls
То что AD LDAP доступен можно потом проверить через "Обозреватель LDAP"
- Заходим в Yast>Сетевые cлужбы>Клиент LDAP. Включаем "Использовать LDAP". Обязательно ставим галку "Создать домашний каталог пользователя при входе". Кроме того желательно поставить "LDAP TSL/SSL". Остальные настройки можно просто проверить. Файл nsswitch.conf и содержимое каталога /etс/pam.d настраиваются корректно автоматически. Завершить.
- Проверяем видимость доменных пользователей командой "getent password"
Более общие случаи настроек и конфигураций можно подсмотреть по данной ссылке
Замечания и предложения приветствуются...
Re: Решено: Проблемы с авторизацией в AD через LDAP
UTiM писал(а): ↑17.11.2007 21:19На сервере Windows:С Windows пожалуй все...
- Инсталлируем regsvr32 с:\WINNT\system32\schmmgmt.dll (необходимость не проверял, но точно не помешает )
- Ставим SFU (Можно по умолчанию, а можно только NIS. Имя домена NIS оставляем пустым - система его задаст автоматом в соотв. с кратким именем домена AD). Перезагруз.
- Выбираем группы, которые будут видны в Linux. Для этого в свойствах группы на новой вкладке UNIX Attributes выбираем из списка NIS Domain (он там один)
- Выбираем пользователей, котрым хотим разрешить логинится в LINUX. Для этого также в UNIX Attributes выбираем из списка NIS Domain . (Эта операция добавляет в схему LDAP нужные атрибуты). Выбираем Primay Group.
- Если планируем использовать NIS, то тоже самое проделываем с компьютерами, если они уже есть в списке AD. Которых нет - добавляем (ручками или потом с помощью "net ads join..." - нужна будет samba/winbind).
- Обязательно производим процедуру смены пароля пользователя виндовс (можно на тот-же). Это нужно для того, что бы его хеш появился в новом поле схемы LDAP.
- Если планируем для авторизации использовать NIS, стартуем службу Server for NIS ручками (по умолчанию она отключена).
- Если будем использовать LDAP заводим в AD нового пользователя с минимальным набором прав (главное - право просмотра схемы LDAP). Имеено эту учетную запись будем использовать для соединения с AD.
- Если есть DHCP то можно прописать туда адреса серверов NIS и NTP - потом пригодится!
А если нет админ-ских прав на сервере?
На клиентской машине, которая была подключена к Windows серверу с аутентификацией с помощью LDAP, установил вместо WinXP32 - openSUSE11.1x86_64.
Задача состоит в том, чтобы вход пользователей оставался прежним - с аутентификацией на сервере windows.
Нужный windows домен системой обнаруживается, но к LDAP не подключается:
"udevd[719]: llnss_ldap: failed to bind to LDAP server ...: Can't contact LDAP server
udevd[719]: nss_ldap: failed to bind to LDAP server ...: Can't contact LDAP server
udevd[719]: nss_ldap: could not search LDAP server - Server is unavailable
udevd[719]: error resolving user 'root, GROUP=': Connection refused"
Запустил (под wine) ldp.exe (которая подключается к этому LDAP серверу даже с машин, не подключённых к нему вообще), но она выдаёт: "Error <0x51>: Fail to connect to ...", а в консоли, из-под которой я её запустил:
"fixme:winsock:WSALookupServiceBeginW (0x32f8bc 0x00000710 0x32f914) Stub!
fixme:advapi:LsaOpenPolicy ((nu),0x32f834,0x00000001,0x32f84c) stub
fixme:advapi:LsaClose (0xcafe) stub"
Что это за "заглушка(-и)"?
P.S. С DHCP всё нормально - всё получает с этого win сервера и в и-нет выходит...
Re: Решено: Проблемы с авторизацией в AD через LDAP
Тема довольно старая. Попробую ещё свою создать...
Re: Решено: Проблемы с авторизацией в AD через LDAP
Тогда забудьте про LDAP и NIS авторизацию! Она настраивается только при установленном на сервере дополнении SFU от Микрософта. Максимум что вы сможете без него - просматривать записи в AD с помощью клиентских программ, но не авторизоваться, так как нужных для этого Linu-ху полей в LDAP AD просто нет. (Собственно SFU их туда и добавляет)
Без него возможна только стандартная winbind- авторизация. Настраивается элементарно через Yast2 - здесь на форуме полно информации...
Re: Решено: Проблемы с авторизацией в AD через LDAP
UTiM писал(а): ↑29.08.2009 01:02Она настраивается только при установленном на сервере дополнении SFU от Микрософта. Максимум что вы сможете без него - просматривать записи в AD с помощью клиентских программ, но не авторизоваться, так как нужных для этого Linu-ху полей в LDAP AD просто нет. (Собственно SFU их туда и добавляет)
А по приведённым ниже портам сервера, полученных с помощью PortScan, можно определить, установлена ли SFU (а если нет, то - наилучший способ аутентификации)?
42 open name
53 open domain
88 open kerberos
135 open epmap
139 open netbios-ssn
389 open ldap
445 open microson-ds
464 open kpasswd
593 open hnp-rpc-epmap
636 open ldaps
1025 open blackjack
1027 open unknawn
1034 open activesync
1038 open mtqp
1048 open neod2
3268 open msn-qc
3269 open msn-qc-ssl
3389 open ms-wbt-server
Re: Решено: Проблемы с авторизацией в AD через LDAP
Наличие можно определить по наличию полей типа..
Код: Выделить всё
msSFU30UidNumber
msSFU30GidNumber
msSFU30PosixMember
msSFU30Passwor
в схеме учетной записи пользователя (смотрится с помощью любого просмотрщика LDAP - например в yast2 - "Обозреватель LDAP" ), но проще спросить у админа, так как эти поля должны быть еще и заполнены соотв. данными...
Если вы сами не админ, то лучший (и единственный) способ авторизации в домене в вашем случае - winbind
Re: Решено: Проблемы с авторизацией в AD через LDAP
При попытке настройки через winbind выдаётся сообщение:
This host is not a member of the domain...
Join the domain ...?
После утвердительного ответа и ввода имени и пароля пользователя сервера (естественно, не администратора):
Failed to join domain: Failed to set account flags for machine account (NT_STATUS_ACCESS_DENIDED)
При попытке подключения с того же компьютера, но из-под Windows (c тем же именем комп-а):
В домене "..." обнаружена учётная запись для данного компьютера.
Использовать её?
А после утвердительного ответа и ввода пользователя:
Не удалось присоединить этот компьютер к домену из-за следующей ошибки:
Отказано в доступе
(Хотя он уже присоединён через эту Windows, в которой все загружаются нормально.)
Что нужно делать?
This host is not a member of the domain...
Join the domain ...?
После утвердительного ответа и ввода имени и пароля пользователя сервера (естественно, не администратора):
Failed to join domain: Failed to set account flags for machine account (NT_STATUS_ACCESS_DENIDED)
При попытке подключения с того же компьютера, но из-под Windows (c тем же именем комп-а):
В домене "..." обнаружена учётная запись для данного компьютера.
Использовать её?
А после утвердительного ответа и ввода пользователя:
Не удалось присоединить этот компьютер к домену из-за следующей ошибки:
Отказано в доступе
(Хотя он уже присоединён через эту Windows, в которой все загружаются нормально.)
Что нужно делать?
Re: Решено: Проблемы с авторизацией в AD через LDAP
Подсоединять компьютер к домену, как в Linux так и в Windows может только администратор - под учеткой пользователя это не прокатит! Но в данном случае вам этого и не нужно, winbind будет работать и без админского пароля - вам просто придется настроить его в ручную, (без yast), так как тот честно пытается выполнить 'нормальную' процедуру ввода машины в домен из под админа (кстати, если все-таки попросить админа подойти и ввести вам пароль там, где его требует yast - сэкономите кучу времени, так как ручная настройка требует хотя-бы поверхностного понимания механизмов работы авторизации Linux)
Ну а для настройки 'в ручную' вот вам пара ссылочек, найденных в поисковике за 2 минуты:
http://mixa.su/news/linux/nastraivaem-avto...-directory.html
http://asplinux.net/node/69
Для Suse могут быть некоторые нюансы, которые вы выясните пройдясь поиском по этому форуму.
Ну а для настройки 'в ручную' вот вам пара ссылочек, найденных в поисковике за 2 минуты:
http://mixa.su/news/linux/nastraivaem-avto...-directory.html
http://asplinux.net/node/69
Для Suse могут быть некоторые нюансы, которые вы выясните пройдясь поиском по этому форуму.
Re: Решено: Проблемы с авторизацией в AD через LDAP
UTiM писал(а): ↑14.09.2009 22:10Подсоединять компьютер к домену, как в Linux так и в Windows может только администратор - под учеткой пользователя это не прокатит! Но в данном случае вам этого и не нужно, winbind будет работать и без админского пароля - вам просто придется настроить его в ручную, (без yast), так как тот честно пытается выполнить 'нормальную' процедуру ввода машины в домен из под админа (кстати, если все-таки попросить админа подойти и ввести вам пароль там, где его требует yast - сэкономите кучу времени, так как ручная настройка требует хотя-бы поверхностного понимания механизмов работы авторизации Linux)
Ну а для настройки 'в ручную' вот вам пара ссылочек, найденных в поисковике за 2 минуты:
http://mixa.su/news/linux/nastraivaem-avto...-directory.html
http://asplinux.net/node/69
Для Suse могут быть некоторые нюансы, которые вы выясните пройдясь поиском по этому форуму.
А Вы уверены, что это позволит обойтись без ввода админ-ского пароля?
После следующего ввода из первой статьи:
"Далее запускаем команду:
# kinit adsadmin@PHYSNET.LOCAL", -
разве не будет запрошен пароль админ-а?
Ведь во второй статье прямо написано:
"kinit admin@DOMAIN.RU
после чего ввести пароль админа."
Re: Решено: Проблемы с авторизацией в AD через LDAP
Это проверка правильности работы Керберос. Можно просто kinit VASYA@DOMAIN.RU после чего- пароль "Васи". Если пароль/логин совпали то... никаких сообщений не будет (Вася получит "тикет" керберос), если начнет ругаться - или парль/логин не совпали или керберос настроен неправильно. А нужно это, чтоб виндовый сервер не спрашивал пароль повторно при каждой попытке доступа с сетевым ресурсам. Керберосовский "тикет" дает индульгенцию на некоторое время (обычно - на сутки, а вообще - так как админ настроил)
Естественно
Код: Выделить всё
net ads join -U admin@DOMEN.RU
В результате ваших трудов:
1. Команды wbinfo -u /wbinfo -g должны выдавать списки пользователей/груп домена - говорит о правильной настройке samba/winbind
2. Команды getent passwd / getent group выдают кроме локальных пользователей/груп еще и доменных - nsswitch.conf настроен правильно (обязательно наличие в smb.conf кроме того что в статьях...)
Код: Выделить всё
winbind enum users = yes
winbind enum groups = yes
3. Авторизация проходит и домашний каталог пользователя создается - pam настроен правильно....
Re: Решено: Проблемы с авторизацией в AD через LDAP
Kerberos настроил, даже не прибегнув к дедовским способам редактирования файлов конфигурации, прямо через Yast.
А вот с winbind - проблема (даже с редактированием smb.conf). На wbinfo -p выдаёт:
Ping to winbindd failed
could not ping winbindd!
Чтобы это значило (ведь testparm проходит без проблем)?
А вот с winbind - проблема (даже с редактированием smb.conf). На wbinfo -p выдаёт:
Ping to winbindd failed
could not ping winbindd!
Чтобы это значило (ведь testparm проходит без проблем)?
Re: Решено: Проблемы с авторизацией в AD через LDAP
А если все-таки запустить winbind? (samb-у запускать не надо)
Код: Выделить всё
service winbind start
Проверить, запущен-ли демон можно:
Код: Выделить всё
service winbind status
И не забыть прописать запуск службы при старте системы (если все настроено правильно)
Код: Выделить всё
insserv -d winbind
Re: Решено: Проблемы с авторизацией в AD через LDAP
Winbind запускается даже из-под Yast (по крайней мере, возвращает "0") и прописан там.
(При этом этот повторный запуск вручную был произведён уже после удачного kinit'a.)
Но при повторном открытии в Yast списка служб - оказывается не запущенным.
При этом в сислоге (т.е. в "messages") прописывается следующая информация:
"initialize_winbindd_cache: clearing cache and re-creating with version number 1
winbindd/winbindd_util.c:init_domain_list(740)
Could not fetch our SID - did we join?
winbindd/winbindd.c:main(1285)
unable to initialize domain list"
Вы считаете, что ему может мешать запущенная Samba, и её следует отключить и после запустить Winbind? Уточните, пожалуйста.
Может, всё-таки, без "net ads join" winbind не работает (ведь в "smb.conf" стоит "security = ADS")? Вы сами пробовали?
Или в статьях была не совсем правильная последовательность, и следует сначала настроить nsswitch.conf & PAM?
Для полноты информации привожу содержание "smb.conf" (домен, адреса и т.п. изменены):
"[global]
log file = /var/log/samba/log.%m
max log size = 2048
workgroup = domen
password server = server.domen
encrypt passwords = yes
auth methods = winbind
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
case sensitive = no
interfaces = eth0
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
map to guest = Bad User
include = /etc/samba/dhcp.conf
netbios name = %h
# logon path = \\%L\profiles\.msprofile
logon home = \\%L\users\%U
logon drive = Z:
usershare allow guests = No
idmap gid = 1000-20000
idmap uid = 1000-20000
realm = DOMEN
security = ADS
template homedir = /home/%U/Documents
template shell = /bin/bash
winbind refresh tickets = yes
dos charset = 866
unix charset = UTF-8
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[profiles]
comment = Network Profiles Service
path = %H
read only = No
store dos attributes = Yes
create mask = 0600
directory mask = 0700
[users]
comment = All users
path = /home
read only = No
inherit acls = Yes
veto files = /aquota.user/groups/shares/
[groups]
comment = All groups
path = /home/groups
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @ntadmin root
force group = ntadmin
create mask = 0664
directory mask = 0775"
и результат запуска на подключённой к домену вин. машине команды nltest.exe с ключами:
/dsgetdc:domen
DC: \\server.domen
Address: \\xxx.xxx.x.xxx
Dom Guid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
Dom Name: domen
Forest Name: domen
Dc Site Name: Default-First-Site-Name
Our Site Name: Default-First-Site-Name
Flags: PDC GC DS LDAP KDC TIMESERV GTIMESERV WRITABLE DNS_DC DNS_DOMAIN DNS_FOREST CLOSE_SITE
The command completed successfully
и /dnsgetdc:domen
List of DCs in pseudo-random order taking into account SRV priorities and weights:
Non-Site specific:
server.domen xxx.xxx.x.xxx:389
The command completed successfully
Попробовал запустить winbind без запущенной smb - результат тот же.
(При этом этот повторный запуск вручную был произведён уже после удачного kinit'a.)
Но при повторном открытии в Yast списка служб - оказывается не запущенным.
При этом в сислоге (т.е. в "messages") прописывается следующая информация:
"initialize_winbindd_cache: clearing cache and re-creating with version number 1
winbindd/winbindd_util.c:init_domain_list(740)
Could not fetch our SID - did we join?
winbindd/winbindd.c:main(1285)
unable to initialize domain list"
Вы считаете, что ему может мешать запущенная Samba, и её следует отключить и после запустить Winbind? Уточните, пожалуйста.
Может, всё-таки, без "net ads join" winbind не работает (ведь в "smb.conf" стоит "security = ADS")? Вы сами пробовали?
Или в статьях была не совсем правильная последовательность, и следует сначала настроить nsswitch.conf & PAM?
Для полноты информации привожу содержание "smb.conf" (домен, адреса и т.п. изменены):
"[global]
log file = /var/log/samba/log.%m
max log size = 2048
workgroup = domen
password server = server.domen
encrypt passwords = yes
auth methods = winbind
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
case sensitive = no
interfaces = eth0
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
map to guest = Bad User
include = /etc/samba/dhcp.conf
netbios name = %h
# logon path = \\%L\profiles\.msprofile
logon home = \\%L\users\%U
logon drive = Z:
usershare allow guests = No
idmap gid = 1000-20000
idmap uid = 1000-20000
realm = DOMEN
security = ADS
template homedir = /home/%U/Documents
template shell = /bin/bash
winbind refresh tickets = yes
dos charset = 866
unix charset = UTF-8
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[profiles]
comment = Network Profiles Service
path = %H
read only = No
store dos attributes = Yes
create mask = 0600
directory mask = 0700
[users]
comment = All users
path = /home
read only = No
inherit acls = Yes
veto files = /aquota.user/groups/shares/
[groups]
comment = All groups
path = /home/groups
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @ntadmin root
force group = ntadmin
create mask = 0664
directory mask = 0775"
и результат запуска на подключённой к домену вин. машине команды nltest.exe с ключами:
/dsgetdc:domen
DC: \\server.domen
Address: \\xxx.xxx.x.xxx
Dom Guid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
Dom Name: domen
Forest Name: domen
Dc Site Name: Default-First-Site-Name
Our Site Name: Default-First-Site-Name
Flags: PDC GC DS LDAP KDC TIMESERV GTIMESERV WRITABLE DNS_DC DNS_DOMAIN DNS_FOREST CLOSE_SITE
The command completed successfully
и /dnsgetdc:domen
List of DCs in pseudo-random order taking into account SRV priorities and weights:
Non-Site specific:
server.domen xxx.xxx.x.xxx:389
The command completed successfully
Попробовал запустить winbind без запущенной smb - результат тот же.
Re: Решено: Проблемы с авторизацией в AD через LDAP
CAEman писал(а): ↑02.10.2009 12:32Вы считаете, что ему может мешать запущенная Samba, и её следует отключить и после запустить Winbind? Уточните, пожалуйста.
Может, всё-таки, без "net ads join" winbind не работает (ведь в "smb.conf" стоит "security = ADS")? Вы сами пробовали?
Или в статьях была не совсем правильная последовательность, и следует сначала настроить nsswitch.conf & PAM?
- samba (вернее демон smbd) - не мешает и не помогает, для авторизации в домене она просто ненужна (вообще - служит для "расшаривания" папок с вашей машины в виндовую сеть)
- для определения "запущенности" winbind используйте команду "service winbind status" - быстрее и надежней.
- если вы пропишите настройки авторизации через winbind в pam при не работоспособном winbind - есть некоторый риск больше вообще не войти в систему (лечится - но надо знать как)
Проверьте...
Разрешение доменных имен (естественно для вашего домена):
Код: Выделить всё
ping domain
Код: Выделить всё
ping server.domain.loc
Видимость домена:
Код: Выделить всё
net ads info
Если не работает - сделайте следующее (да и желательно всегда, а вернее - даже обязательно) при настройке winbind:
1. Отключите SuseFirevall
2. Пропишите в /etc/hosts строку:
"192.168.1.1 server.domain.loc domain.loc domain" - естественно для вашего домена
- т.е. "IP_контроллера_домена его_полное_имя полное_имя_домена краткое_имя_домена"
Иногда полезно - (уменьшает возможные глюки с разрешением имен):
3. Остановите и выключите автозагрузку демона avahi - через Yast-"Службы..."
4. В /etc/nsswitch.conf строку "hosts: files mdns4_minimal [NOTFOUND=return] dns" поправте до "hosts: files dns"
Повторно проверьте разрешение имени домена и доступность LDAP AD
Если - сработало, то:
Код: Выделить всё
service winbind start
Файл smb.conf - в основном все правильно, хоте есть кое-что "лишнее" (не уверен - не пиши!!!) - в этом случае применяются правила по умолчанию
Необходимо и достаточно (домен DOMAIN.LOC):
Код: Выделить всё
[global]
#для авторизации winbind
workgroup = DOMAIN
realm = DOMAIN.LOC
security = ADS
idmap gid = 10000-20000
idmap uid = 10000-20000
winbind enum groups = yes
winbind enum users = yes
winbind refresh tickets = yes
#окружение пользователя после авторизации
template homedir = /home/%D/%U
template shell = /bin/bash
#умолчательные настройки samba (печать, права и п.р.) - не обязательно для авторизации, но не мешает - можно оставить
usershare allow guests = No
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
map to guest = Bad User
include = /etc/samba/dhcp.conf
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
#все - что ниже - описание шар smbd - можно закомментировать (мы ничего не расшариваем!)
[homes]
Если winbind запустился и работает - проверяем доступность виндовых юзеров и групп:
Код: Выделить всё
wbinfo -u
wbinfo -g
Re: Решено: Проблемы с авторизацией в AD через LDAP
Спасибо, сейчас попробую сделать проверку.
Только я не совсем понял, почему LDAP, если настроен Kerberos (по крайней мере, по нему получается билет пользователя, а вот с LDAP там что-то у меня "не доруливается")?
И у меня несколько вопросов по smb.conf:
1) idmap gid = 10000-20000
idmap uid = 10000-20000
А почему нельзя начинать, например, с 1000 (если кроме root'a локальных не будет)?
2) auth methods = winbind
Почему эта строка не нужна?
Вернее, как определяется, что при регистрации пользователей в графическом окне DM должна проходить проверка имени и пароля на вин.сервере?
3) Если нужно, чтобы после первой авторизации создавалась домашняя папка /home/имя_пользователя (профиль пользователя), которая бы в дальнейшем уже использовалась пользователем по умолчанию, а в папки Documents и Y:, находящихся в домашней директории, каждый раз монтировались папки сервера, соответственно, users\имя_пользователя (которая на вин.машинах монтируется как диск Z:) и \y (в которых нет или, по крайней мере, не видно из-под пользователя никаких .msprofile и .9xprofile), то что нужно добавить в smbfstab и прописать вместо:
template homedir = /home/%D/%U
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
и для этого нужен сервис smbfs и не нужен - smb?
Уточните, пожалуйста.
Только я не совсем понял, почему LDAP, если настроен Kerberos (по крайней мере, по нему получается билет пользователя, а вот с LDAP там что-то у меня "не доруливается")?
И у меня несколько вопросов по smb.conf:
1) idmap gid = 10000-20000
idmap uid = 10000-20000
А почему нельзя начинать, например, с 1000 (если кроме root'a локальных не будет)?
2) auth methods = winbind
Почему эта строка не нужна?
Вернее, как определяется, что при регистрации пользователей в графическом окне DM должна проходить проверка имени и пароля на вин.сервере?
3) Если нужно, чтобы после первой авторизации создавалась домашняя папка /home/имя_пользователя (профиль пользователя), которая бы в дальнейшем уже использовалась пользователем по умолчанию, а в папки Documents и Y:, находящихся в домашней директории, каждый раз монтировались папки сервера, соответственно, users\имя_пользователя (которая на вин.машинах монтируется как диск Z:) и \y (в которых нет или, по крайней мере, не видно из-под пользователя никаких .msprofile и .9xprofile), то что нужно добавить в smbfstab и прописать вместо:
template homedir = /home/%D/%U
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
и для этого нужен сервис smbfs и не нужен - smb?
Уточните, пожалуйста.