LINUX.ORG.RU
ФорумAdmin

[CentOS] LDAP и аутентификация

 


0

0

Всем привет.

Пытаюсь настроить авторизацию через LDAP.
В LDAP все работает , пользователи добавляются но система не видит их.

ldapsearch -x -v -D «cn=root,dc=master,dc=xcat» -w 111111 «uid=test3»

ldap_initialize( <DEFAULT> )
filter: uid=test3
requesting: All userApplication attributes
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: uid=test3
# requesting: ALL
#

# test3, People, master.xcat
dn: uid=test3,ou=People,dc=master,dc=xcat
uid: test3
sn: test3
cn: test3
mail: test3@master.xcat
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowLastChange: 13998
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 505
gidNumber: 505
homeDirectory: /home/test3

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Проверяем пользователя:
id test3
id: test3: No such user

Конфиги:

/etc/ldap.conf

host 127.0.0.1
base dc=master,dc=xcat
timelimit 120
bind_timelimit 120
idle_timelimit 3600
nss_base_passwd ou=People,dc=mester,dc=xcat
nss_base_shadow ou=People,dc=master,dc=xcat
nss_base_group ou=Group,dc=master,dc=xcat
nss_initgroups_ignoreusers root,ldap,named,avahi,haldaemon,dbus,radvd,tomcat,radiusd,news,mailman,nscd
pam_filter objectclass=People
pam_login_attribute uid
pam_lookup_policy yes
pam_password md5

slapd.conf

include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/misc.schema
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
loglevel 9
database hdb
suffix «dc=master,dc=xcat»
rootdn «cn=root,dc=master,dc=xcat»
rootpw {SSHA}Xl0skgV6F/aV4z6BQ3i5PhvYYWs0+9z6
directory /var/lib/ldap
index objectclass,entryCSN,entryUUID eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
password-hash {SSHA}
access to attrs=userPassword
by dn=«uid=root,ou=People,dc=master,dc=xcat» write
by anonymous read
by self write
by * none
access to attrs=shadowLastChange
by dn=«uid=root,ou=People,dc=master,dc=xcat» write
by self write
by * read

###sync provider
modulepath /usr/lib64/openldap
#moduleload syncprov
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
###sync


А системе ты рассказал что надо смотреть пользователей в LDAP-е? Или у тебя установлен linastral.so?

Morphine
()

А что выдаёт

ldapsearch -x -v "uid=test3"
?

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

И ещё одно: nsswitch отвечает только за чтение аккуантов. Для аутентификации нужно ещё LDAP прикручивать к PAM.

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

ldapsearch -x -v «uid=test3» выдает:

ldap_initialize( <DEFAULT> ) filter: uid=test3 requesting: All userApplication attributes # extended LDIF # # LDAPv3 # base <> with scope subtree # filter: uid=test3 # requesting: ALL #

# search result search: 2 result: 0 Success

# numResponses: 1

в pam все прописано

А где логи LDAP смотреть ?

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

да ldapsearch -x -v «uid=test3» выдает только это.

У тебя походу анонимные пользователи не имеют права на чтение из LDAP. В этом и проблема.

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

вроде есть :

access to attrs=userPassword
by dn=«uid=root,ou=People,dc=master,dc=xcat» write
by anonymous read
by self write
by * none


или нужно где то ще прописывать ?

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

или нужно где то ще прописывать ?

Уфф... Я как-то сразу не обратил внимание. У тебя в ACL вообще каша какая-то. Должно быть примерно так:

access to attrs=userPassword
    by dn="uid=root,ou=People,dc=master,dc=xcat" write
    by anonymous auth
    by self write
    by * none

access to attrs=shadowLastChange
    by dn="uid=root,ou=People,dc=master,dc=xcat" write
    by self write
    by * read

access to *
    by dn="uid=root,ou=People,dc=master,dc=xcat" write
    by * read

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

Теперь ldapsearch -x -v «uid=test3» выводит всю информацию

Всю? По идее хеш пароля выводиться не должен.

а id все равно не видит пользователя :(

Тем не менее, прогресс есть =).

Теперь попробуй привести /etc/ldap.conf к примерно такому виду:

base dc=master,dc=xcat
uri ldapi:///
ldap_version 3
bind_policy soft
pam_password exop
nss_base_passwd ou=People,dc=master,dc=xcat
nss_base_shadow ou=People,dc=master,dc=xcat
nss_base_group ou=Group,dc=master,dc=xcat

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

# cat /etc/nsswitch.conf


passwd: files ldap
shadow: files ldap
group: files ldap


hosts: files dns

bootparams: nisplus [NOTFOUND=return] files

ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files

netgroup: files

publickey: nisplus

automount: files
aliases: files nisplus

Вроде все верно.

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

cat /etc/openldap/ldap.conf

BASE dc=master,dc=xcat
URI ldap://127.0.0.1/
TLS_CACERTDIR /etc/openldap/cacerts

В логах вообще ничего нету.

slapd запускается с опциям:

/usr/sbin/slapd -h ldap:/// -u ldap

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

В логах вообще ничего нету.

А ты в каких логах смотрел?

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