The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"настройка ldap  клиента"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Авторизация и аутентификация, LDAP / Linux)
Изначальное сообщение [ Отслеживать ]

"настройка ldap  клиента"  +/
Сообщение от frank82 email(ok) on 19-Сен-11, 14:31 
Доброго всем времени суток.
Нужна помощь в насройке авторизации на ldap-server поднятым под debian6, клиенты все подняты под fedora14.

На сервере стоит и настроен slapd.
Вот конфиг slapd.conf
root@ldap:/etc/ldap# cat 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/redhat/autofs.schema
include         /etc/openldap/schema/openldap.schema
include         /etc/openldap/schema/misc.schema

pidfile /var/run/slapd.pid

access to attrs=userPassword,shadowLastChange
    by self write
    by anonymous auth
    by dn="cn=admin,dc=ldap,dc=localdomain" write
    by * none
access to dn.base=""
    by * read
access to *
    by self write
    by dn="cn=admin,dc=ldap,dc=localdomain" write
    by * read


database        bdb
suffix          "dc=ldap,dc=localdomain"
rootdn          "cn=admin,dc=pupkin,dc=ldap,dc=localdomain"
rootpw          {SSHA}бла-бла-зашифрованый пароль

directory       /var/lib/ldap/ldap.localdomain

# Indices to maintain for this database
index objectClass                       eq,pres
index ou,cn,sn,mail,surname,givenname   eq,pres,sub
index uidNumber,gidNumber,memberUid     eq,pres
index gidNumber                 eq,pres
index loginShell                        eq,pres
# I also added this line to stop warning in syslog ..
index uniqueMember                      eq,pres
## required to support pdb_getsampwnam
index uid                               pres,sub,eq
## required to support pdb_getsambapwrid()
index displayName                       pres,sub,eq
# These attributes don't exist in this database ..
#index nisMapName,nisMapEntry            eq,pres,sub
index sambaSID                          eq
index sambaPrimaryGroupSID              eq
index sambaDomainName                   eq
index default                           sub

Вот конфиг инициализации главного дерева init.ldif
dn: dc=ldap,dc=localdomain
objectClass: dcObject
objectclass: organization
objectClass: top
o: LDAP-SERVER fov Call Center
dc: ldap
description: My LDAP Root

dn: cn=admin,dc=ldap,dc=localdomain
#objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator

Вот конфиг инициализации груп groups.ldif
root@ldap:/etc/ldap/schema# cat groups.ldif
dn: cn=root,dc=ldap,dc=localdomain
objectClass: posixGroup
gidNumber: 0
cn: root
memberUid: root
description: Grupo root

dn: cn=sudo,dc=ldap,dc=localdomain
objectClass: posixGroup
gidNumber: 27
cn: users
memberUid: fov
description: Grup Admin

dn: cn=users,dc=ldap,dc=localdomain
objectClass: posixGroup
gidNumber: 100
cn: users
memberUid: user,test

Вот конфиг инициализации юзеров users.ldif
root@ldap:/etc/ldap/schema# cat users.ldif
dn: uid=fov,cn=sudo,dc=ldap,dc=localdomain
cn: fov
gecos: fov,,,
gidnumber: 1000
homedirectory: /home/fov
loginshell: /bin/bash
objectclass: account
objectclass: posixAccount
objectclass: top
objectclass: shadowAccount
shadowlastchange: 15235
shadowmax: 99999
shadowwarning: 7
uid: fov
uidnumber: 1000
userpassword: {MD5}бла-бла-зашифрованый пароль

dn: uid=root,cn=root,dc=ldap,dc=localdomain
cn: root
gecos: root
gidnumber: 0
homedirectory: /root
loginshell: /bin/bash
objectclass: account
objectclass: posixAccount
objectclass: top
objectclass: shadowAccount
shadowlastchange: 15235
shadowmax: 99999
shadowwarning: 7
uid: root
uidnumber: 0
userpassword: {MD5}бла-бла-зашифрованый пароль

dn: uid=test,cn=users,dc=ldap,dc=localdomain
cn: test
gidnumber: 998
homedirectory: /home/test
loginshell: /bin/sh
objectclass: account
objectclass: posixAccount
objectclass: top
objectclass: shadowAccount
shadowlastchange: 15235
uid: test
uidnumber: 998
userpassword: {MD5}CY9rzUYh03PK3k6DJie09g== (пароль test)

dn: uid=user,cn=users,dc=ldap,dc=localdomain
cn: user
gidnumber: 999
homedirectory: /user
loginshell: /bin/bash
objectclass: account
objectclass: posixAccount
objectclass: top
objectclass: shadowAccount
shadowlastchange: 15235
uid: user
uidnumber: 999
userpassword: {MD5}7hHLsZBS5AsHqsDKBgwj7g== (пароль user)

В итоге имеем такое дерево:

                                dc=ldap,dc=localdomain
                                          |
   ___________________________________________
   |                        |                                                |
cn=root         cn=sudo                                 cn=users
   |                        |                                                |
   _________________________________________________________
   |                        |                                                |                       |
uid=root        uid=fov(мой юзер)                  uid=test          uid=user

Сам slapd стартует это видно:
root@ldap:/etc/ldap/schema# netstat -aen|grep 389
tcp        0      0 127.0.0.1:389           0.0.0.0:*               LISTEN      0          35591      
tcp        0      0 192.168.15.64:389       0.0.0.0:*               LISTEN      0          35585      
tcp        0      0 192.168.15.64:389       192.168.15.104:36362    ESTABLISHED 106        35606

root@ldap:/etc/ldap/schema# netstat -aep|grep slapd
tcp        0      0 127.0.0.1:ldap          *:*                     LISTEN      root       35591       10890/slapd    
tcp        0      0 ldap.localdomain:ldap   *:*                     LISTEN      root       35585       10890/slapd    
tcp        0      0 ldap.localdomain:ldap   192.168.15.104:36362    ESTABLISHED openldap   35606       10890/slapd

root@ldap:/etc/ldap/schema# ps ax|grep slapd
10890 ?        Ssl    0:00 /usr/sbin/slapd -h ldap://ldap.localdomain/ ldap://localhost/ -g openldap -u openldap -F /etc/ldap/slapd.d


Вот логи при старте:
root@ldap:/etc/ldap/schema# service slapd start
Starting OpenLDAP: slapd.

root@ldap:/etc/ldap/schema# tail -f /var/log/syslog
Sep 19 14:05:31 ldap slapd[10996]: @(#) $OpenLDAP: slapd 2.4.23 (Jun 16 2011 02:53:39) $#012#011buildd@murphy:/build/buildd-openldap_2.4.23-7.2-i386-Y1mwvF/openldap-2.4.23/debian/build/servers/slapd
Sep 19 14:05:31 ldap slapd[10997]: slapd starting

Теперь по клиенту.
Установил nss_ldap и pam_ldap.
Вот соответсвенно их конфиги:
[root@ts104 etc]# cat /etc/nss_ldap.conf|grep -v ^#
base dc=ldap,dc=localdoamin
uri ldap://ldap.localdomain/
ldap_version 3
rootbinddn cn=admin,dc=ldap,dc=localdomain
ssl no
tls_cacertdir /etc/openldap/cacerts

[root@ts104 etc]# cat /etc/pam_ldap.conf|grep -v ^#
base dc=ldap,dc=localdoamin
uri ldap://ldap.localdomain/
ldap_version 3
rootbinddn cn=admin,dc=ldap,dc=localdomain
ssl no
tls_cacertdir /etc/openldap/cacerts

Вот конфиг ldap клиента
[root@ts104 etc]# cat /etc/openldap/ldap.conf|grep -v ^#
host    192.168.15.64 (IP сервера, можно и по имени DNS работает)
base    dc=ldap,dc=localdomain
uri    ldap://ldap.localdomain
ssl    no
pam_password    md5
URI ldap://ldap.localdomain/
BASE dc=ldap,dc=localdoamin
TLS_CACERTDIR /etc/openldap/cacerts

Вот еще конфиг авторизации:
[root@ts104 etc]# cat /etc/pam.d/system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_sss.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_sss.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3 type=
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok
password    sufficient    pam_sss.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
-session     optional      pam_systemd.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_sss.so

Конфиг nsswitch.conf
[root@ts104 etc]# cat /etc/nsswitch.conf|grep -v ^#
passwd:     files sss
shadow:     files sss
group:      files sss
hosts:      files dns
bootparams: nisplus [NOTFOUND=return] files
ethers:     files
netmasks:   files
networks:   files
protocols:  files
rpc:        files
services:   files
netgroup:   files sss
publickey:  nisplus
automount:  files ldap
aliases:    files nisplus

На клиенте тоже есть пользователь user, но с паролем 'zxcqwe', а не 'user', что легко можно было проверить какую авторизацию проганяет клиент.

И вот попытка входа
[fov@oleg-pc ~]$ ssh user@client
user@client's password: ввожу 'user'
Permission denied, please try again.
user@client's password: ввожу 'zxcqwe'
Last login: Mon Sep 19 12:14:57 2011 from 192.168.15.35
[user@ts104 ~]$

Тоисть клиент пропускает локальную авторизацию

А вот попытка авторизации пользователя test котрый есть только на сервере
[fov@oleg-pc ~]$ ssh test@client
test@client's password: ввожу 'test'
Permission denied, please try again.
test@client's password:


Вот логи авторизации на клиенте для пользователя user с паролем 'user':
[root@ts104 fov]# tail -f /var/log/secure
Sep 19 13:21:56 ts104 sshd[2242]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.15.35  user=user
Sep 19 13:21:56 ts104 sshd[2242]: pam_sss(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.15.35 user=user
Sep 19 13:21:56 ts104 sshd[2242]: pam_sss(sshd:auth): received for user user: 10 (User not known to the underlying authentication module)
Sep 19 13:21:57 ts104 sshd[2242]: Failed password for user from 192.168.15.35 port 50367 ssh2

Вот логи авторизации на клиенте для пользователя user с паролем 'zxcqwe':
[root@ts104 fov]# tail -f /var/log/secure
Sep 19 13:22:18 ts104 sshd[2242]: pam_sss(sshd:account): Access denied for user user: 10 (User not known to the underlying authentication module)
Sep 19 13:22:18 ts104 sshd[2242]: Accepted password for user from 192.168.15.35 port 50367 ssh2
Sep 19 13:22:18 ts104 sshd[2242]: pam_unix(sshd:session): session opened for user user by (uid=0)

Вот логи авторизации на клиенте для пользователя test с паролем 'test':
[root@ts104 fov]# tail -f /var/log/secure
Sep 19 13:22:40 ts104 sshd[2263]: Invalid user test from 192.168.15.35
Sep 19 13:22:40 ts104 sshd[2264]: input_userauth_request: invalid user test
Sep 19 13:22:42 ts104 sshd[2263]: pam_unix(sshd:auth): check pass; user unknown
Sep 19 13:22:42 ts104 sshd[2263]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.15.35
Sep 19 13:22:42 ts104 sshd[2263]: pam_succeed_if(sshd:auth): error retrieving information about user test
Sep 19 13:22:44 ts104 sshd[2263]: Failed password for invalid user test from 192.168.15.35 port 50414 ssh2

Может кто знает что сделал не так, либо лишнего либо вообще не сделал, помогите пожайлуста.
Если кому будет удобно пишите в АСЬКУ 463667979 либо СКАЙП franchuk82 (зовут Олег).

Зарание благодарен!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "настройка ldap  клиента"  +/
Сообщение от JohnProfic (ok) on 19-Сен-11, 16:19 
Федора похоже пошла своим путем :)
Вот это было прочитано?
http://docs.fedoraproject.org/en-US/Fedora/14/html/Deploymen...
Либо не заморачиваться с этим SSS и сделать все по старинке, т.е. чтобы в конфигах nss и pam было явное указание ldap. Правда нужно понять как это в authconfig сделать...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру