LINUX.ORG.RU
ФорумAdmin

Авторизация с использованием LDAP


0

1

Здравствуйте! Пытаюсь настроить авторизацию на Linux mint 17 через Active Directory 2003, делаю по статье Ссылка!!!

getent passwd не выводит доменных пользователей, но в логах появляется ошибка:

Nov 18 12:54:29 test sudo: pam_unix(sudo:session): session closed for user root
Nov 18 12:54:48 test nscd: nss_ldap: failed to bind to LDAP server ldap://dc.domen.loc: Invalid credentials
Nov 18 12:54:48 test nscd: nss_ldap: reconnecting to LDAP server...
Nov 18 12:54:48 test nscd: nss_ldap: failed to bind to LDAP server ldap://dc.domen.loc: Invalid credentials
Nov 18 12:54:48 test nscd: nss_ldap: reconnecting to LDAP server (sleeping 1 seconds)...
Nov 18 12:54:49 test nscd: nss_ldap: failed to bind to LDAP server ldap://dc.domen.loc: Invalid credentials
Nov 18 12:54:49 test nscd: nss_ldap: could not search LDAP server - Server is unavailable

Выполняю команду

ldapsearch -x -h dc -b "dc=domen,dc=loc" -D "cn=Administrator,dc=domen,dc=loc" -W "sAMAccountName=user1"
ответ
ldap_bind: Invalid credentials (49)
	additional info: Simple Bind Failed: NT_STATUS_LOGON_FAILURE
но если выполняю команду
ldapsearch -x -h dc -b "dc=domen,dc=loc" -D "Administrator@domen.loc" -W "sAMAccountName=user1"
то ответ
# extended LDIF
#
# LDAPv3
# base <dc=domen,dc=loc> with scope subtree
# filter: sAMAccountName=user1
# requesting: ALL
#
# search reference
ref: ldap://domen.loc/CN=Configuration,DC=domen,DC=loc
# search reference
ref: ldap://domen.loc/DC=DomainDnsZones,DC=domen,DC=loc
# search reference
ref: ldap://domen.loc/DC=ForestDnsZones,DC=domen,DC=loc
# search result
search: 2
result: 0 Success
# numResponses: 4
# numReferences: 3

Если в ldap.conf выстовляю binddn Administrator@domen.loc то в логах ничего нету


Вы твёрдо убеждены в том, что объект с DN=«cn=Administrator,dc=domen,dc=loc» - в Вашем каталоге вообще есть?

Проверьте!

ldapsearch -xLLL -H ldap://dc -b 'dc=domen,dc=loc' -D 'Administrator@domen.loc' -W '(|(sAMAccountName=Administrator)(cn=Administrator))' sAMAccountName

Пользуйтесь двойными кавычками только если Вам нужна интерполяция содержимого, либо если строка уже содержит одинарные кавычки! В противном случае использование одинарных кавычек - это не только быстрее (shift целее будет), но и безопаснее.

Использование «троекратно усиленной» опции -L для ldapsearch позволяет Вам видеть только результат запроса (если он есть), подавляя вывод служебной информации.

DRVTiny ★★★★★ ()
Последнее исправление: DRVTiny (всего исправлений: 1)

Указывай имя юзера для опции -D в виде DOMAIN\username

no-dashi ★★★★★ ()
Последнее исправление: no-dashi (всего исправлений: 1)
Ответ на: комментарий от dr-yay

Поставил sssd ошибка при запуске

service sssd start
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.94" (uid=1000 pid=5844 comm="start sssd ") interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")

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

Это как-же через ldap будет лучше? Что тебе предоставит ldap..? Вход в систему? Не, ну если тебя такое устраивает то ок. А winbind можно запилить, чтоб билеты получало, сопровождало их, и ходить в шарах домена без пароля, получать корпоративные ресурсы через kerberos без пароля, в Интернет без пароля выходить.

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

через winbind у меня работает, но мне нужен вариант через ldap пишут что через его лучше работает

Я бы сказал: более предсказуемо, поскольку это всё равно что сравнивать federation access manager с кучей плагинов и просто базу данных в чистом виде. Понятно, что если данные запрашивать непосрещдственно из хранилища оных - это куда более прямолинейно и просто, нежели к тем же данным продираться через хитроумную логику какого-нибудь OpenAM'а. Тем не менее с точки зрения функциональности и гибкости конечно AM использовать логичнее.

winbind кстати тоже LDAP использует, что прекрасно видно из его логов при подробной отладке.

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

Вывод команды

ldapsearch -xLLL -H ldap://dc -b 'dc=domen,dc=loc' -D 'Administrator@domen.loc' -W '(|(sAMAccountName=Administrator)(cn=Administrator))' sAMAccountName
Enter LDAP Password: 
dn: CN=Administrator,OU=ADMINS,OU=USERS,OU=DOMEN,DC=domen,DC=loc
sAMAccountName: Administrator

# refldap://domen.loc/CN=Configuration,DC=domen,DC=loc

# refldap://domen.loc/DC=DomainDnsZones,DC=domen,DC=loc

# refldap://domen.loc/DC=ForestDnsZones,DC=domen,DC=loc

blexen ()
Ответ на: комментарий от DRVTiny

в /etc/ldap.conf я прописывал CN=Administrator,OU=ADMINS,OU=USERS,OU=DOMEN,DC=domen,DC=loc ничего не изменилось

blexen ()
Ответ на: комментарий от DRVTiny
ldapwhoami -x -H ldap://dc -D 'CN=Administrator,OU=ADMINS,OU=USERS,OU=DOMEN,DC=domen,DC=loc' -W
ldap_parse_result: Protocol error (2)
	additional info: Extended Operation(1.3.6.1.4.1.4203.1.11.3) not supported
Result: Protocol error (2)
Additional info: Extended Operation(1.3.6.1.4.1.4203.1.11.3) not supported
blexen ()
Ответ на: комментарий от DRVTiny

В /etc/ldap.conf

host dc              
base dc=domen,dc=loc
binddn cn=Administrator,ou=ADMINS,ou=USERS,ou=DOMEN,dc=domen,dc=loc
bindpw pass
scope sub
nss_base_passwd         dc=domen,dc=loc?sub
nss_base_group          dc=domen,dc=loc?sub
nss_map_objectClass posixAccount User
nss_map_attribute uid msSFU30Name
nss_map_attribute uniqueMember msSFU30PosixMember
nss_map_attribute homeDirectory msSFU30HomeDirectory
nss_map_objectClass posixGroup Group
nss_map_attribute gidNumber msSFU30GidNumber
nss_map_attribute uidNumber msSFU30UidNumber
nss_map_attribute loginShell msSFU30LoginShell

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

Тогда попробуйте

ldapsearch -xLLL -D 'CN=Administrator,OU=ADMINS,OU=USERS,OU=DOMEN,DC=domen,DC=loc' -W -b 'CN=Administrator,OU=ADMINS,OU=USERS,OU=DOMEN,DC=domen,DC=loc' -s base

Видно что-нибудь? :)

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

В ldap.conf:

1) binddn и bindpw работают только при обращении к базе NSS из-под обычного пользователя. Для root'а есть настройка rootdn и файл с паролем и chmod 600 на нём, обычно /etc/ldap.secret

2) Вы действительно установили сконфигурировали SFU или мне это кажется? По ссылке http://www.hackerdom.ru/team/articles/AuthLinuxInWindows - всё настроено?

DRVTiny ★★★★★ ()
Ответ на: комментарий от DRVTiny
ldapsearch -xLLL -D 'CN=Administrator,OU=ADMINS,OU=USERS,OU=DOMEN,DC=domen,DC=loc' -W -b 'CN=Administrator,OU=ADMINS,OU=USERS,OU=DOMEN,DC=domen,DC=loc' -s base

ответ:

ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

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

Хорошая статья, годная :)

Я у него на курсах в «Специалисте» учился (Asterisk).

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

Я пропустил опцию -H $LDAPURI :) blexen, настоятельно рекомендую изучить инструмент. Мало ли, вдруг мои команды удаляют данные с жёсткого диска или создают чёрную дыру в соседней галактике?

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