URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 69268
[ Назад ]

Исходное сообщение
"FreeBSD+PAM+LDAP Помогите подружить."

Отправлено DJ_Kill , 02-Окт-06 19:34 
Тут по этой теме уже тонна написана. Перечитал всё. Всё равно не могу победить.

FreeBSD 6.1-RELEASE
Стоит OpenLDAP и всё что с этим связано.

cyrus-sasl-ldapdb-2.1.21 SASL LDAPDB auxprop plugin
nss_ldap-1.244      RFC 2307 NSS module
openldap-client-2.2.30 Open source LDAP client implementation
openldap-server-2.2.30 Open source LDAP server implementation
p5-perl-ldap-0.33   A Client interface to LDAP servers
pam_ldap-1.8.0      A pam module for authenticating with LDAP
php4-ldap-4.4.2_1   The ldap shared extension for php
sendmail+sasl2+ldap-8.13.6 Reliable, highly configurable mail transfer agent with util

cat /etc/nsswitch.conf:
group: files ldap
group_compat: nis ldap
hosts: files dns ldap
networks: files ldap
passwd: files ldap
passwd_compat: nis ldap
shells: files ldap
shadow: files ldap

cat /etc/pam.d/pop3
auth            sufficient      /usr/local/lib/pam_ldap.so
auth            required        pam_unix.so             no_warn try_first_pass

cat /etc/ldap.conf
base dc=gtss,dc=ru
host 127.0.0.1
uri ldap://192.168.100.8:389/
uri ldapi:///var/run/openldap/ldapi/
binddn cn=root,dc=gtss,dc=ru
bindpw overkill12
rootbinddn cn=root,dc=gtss,dc=ru
port 389
scope one
#pam_filter objectclass=user
pam_filter objectclass=posixAccount
pam_login_attribute uid
pam_min_uid 10000
pam_max_uid 30000
nss_base_shadow         ou=users,dc=gtss,dc=ru?one
nss_base_passwd         ou=users,dc=gtss,dc=ru?one
nss_base_group          ou=groups,dc=gtss,dc=ru?one
ssl no
pam_password SSHA

Пытаюсь сгрузить почту.
В лог LDAPа летит примерно следующее:

Oct  2 19:25:18 geo-samba slapd[426]:
Oct  2 19:25:18 geo-samba slapd[426]: daemon: read activity on 30
Oct  2 19:25:18 geo-samba slapd[426]: => access_allowed: search access to "uid=zh,ou=users,dc=gtss,dc=ru" "objectClass" requested
Oct  2 19:25:18 geo-samba slapd[426]: <= root access granted
Oct  2 19:25:18 geo-samba slapd[426]: => access_allowed: search access to "uid=zh,ou=users,dc=gtss,dc=ru" "uid" requested
Oct  2 19:25:18 geo-samba slapd[426]: <= root access granted
Oct  2 19:25:18 geo-samba slapd[426]: => access_allowed: read access to "uid=zh,ou=users,dc=gtss,dc=ru" "entry" requested
Oct  2 19:25:18 geo-samba slapd[426]: <= root access granted
Oct  2 19:25:18 geo-samba slapd[426]: daemon: select: listen=6 active_threads=0 tvp=NULL
Oct  2 19:25:18 geo-samba slapd[426]: daemon: select: listen=7 active_threads=0 tvp=NULL
Oct  2 19:25:18 geo-samba slapd[426]: => access_allowed: read access to "uid=zh,ou=users,dc=gtss,dc=ru" "uid" requested
Oct  2 19:25:18 geo-samba slapd[426]: <= root access granted
Oct  2 19:25:18 geo-samba slapd[426]: => access_allowed: read access to "uid=zh,ou=users,dc=gtss,dc=ru" "cn" requested
Oct  2 19:25:18 geo-samba slapd[426]: <= root access granted
Oct  2 19:25:18 geo-samba slapd[426]: => access_allowed: read access to "uid=zh,ou=users,dc=gtss,dc=ru" "objectClass" requested
Oct  2 19:25:18 geo-samba slapd[426]: <= root access granted
Oct  2 19:25:18 geo-samba slapd[426]: => access_allowed: read access to "uid=zh,ou=users,dc=gtss,dc=ru" "uidNumber" requested
Oct  2 19:25:18 geo-samba slapd[426]: <= root access granted
Oct  2 19:25:18 geo-samba slapd[426]: => access_allowed: read access to "uid=zh,ou=users,dc=gtss,dc=ru" "homeDirectory" requested
Oct  2 19:25:18 geo-samba slapd[426]: <= root access granted
Oct  2 19:25:18 geo-samba slapd[426]: => access_allowed: read access to "uid=zh,ou=users,dc=gtss,dc=ru" "loginShell" requested
Oct  2 19:25:18 geo-samba slapd[426]: <= root access granted
Oct  2 19:25:18 geo-samba slapd[426]: => access_allowed: read access to "uid=zh,ou=users,dc=gtss,dc=ru" "shadowMax" requested
Oct  2 19:25:18 geo-samba slapd[426]: <= root access granted
Oct  2 19:25:18 geo-samba slapd[426]: => access_allowed: read access to "uid=zh,ou=users,dc=gtss,dc=ru" "userPassword" requested
Oct  2 19:25:18 geo-samba slapd[426]: <= root access granted
Oct  2 19:25:18 geo-samba slapd[426]: => access_allowed: read access to "uid=zh,ou=users,dc=gtss,dc=ru" "shadowLastChange" requested
Oct  2 19:25:18 geo-samba slapd[426]: <= root access granted
Oct  2 19:25:18 geo-samba slapd[426]: => access_allowed: read access to "uid=zh,ou=users,dc=gtss,dc=ru" "gidNumber" requested
Oct  2 19:25:18 geo-samba slapd[426]: <= root access granted
Oct  2 19:25:18 geo-samba slapd[426]: daemon: activity on 1 descriptors
Oct  2 19:25:18 geo-samba slapd[426]: daemon: activity on:
Oct  2 19:25:18 geo-samba slapd[426]:  34r


То есть как-то это работает.

В логи почтовика сыплется:

Oct  2 19:19:49 geo-samba qpopper[23321]: [AUTH] Failed attempted login to pirate from host (192.168.100.230) 192.168.100.230
Oct  2 19:20:34 geo-samba qpopper[23326]: zh at 192.168.100.230 (192.168.100.230): -ERR [AUTH] PAM authentication failed for user "zh": authentication error (9)
Oct  2 19:20:34 geo-samba qpopper[23326]: [AUTH] Failed attempted login to zh from host (192.168.100.230) 192.168.100.230
Oct  2 19:25:04 geo-samba qpopper[23352]: zh at 192.168.100.230 (192.168.100.230): -ERR [AUTH] PAM authentication failed for user "zh": new authentication token required (10)
Oct  2 19:25:04 geo-samba qpopper[23352]: [AUTH] Failed attempted login to zh from host (192.168.100.230) 192.168.100.230
Oct  2 19:25:28 geo-samba qpopper[23357]: zh at 192.168.100.230 (192.168.100.230): -ERR [AUTH] PAM authentication failed for user "zh": new authentication token required (10)
Oct  2 19:25:28 geo-samba qpopper[23357]: [AUTH] Failed attempted login to zh from host (192.168.100.230) 192.168.100.230

Почта не отдаётся.

При этом самба с тем же LDAP работает на ура...

Что делать и куда бежать? Уже весь мозг сломал...


Содержание

Сообщения в этом обсуждении
"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено Stefan , 02-Окт-06 21:25 
Попробуй в LDAP-е поставить пароль crypt.
Я все не могу заставить работать с паролем в md5, работает только если стоит в crypt в лдапе.
Хотя в конфиге указан
pam_password md5


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ Kill , 02-Окт-06 22:02 
Имеется в виду /etc/ldap.conf?

"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 13-Окт-06 17:01 
>Имеется в виду /etc/ldap.conf?
в /etc/openldap/slapd.conf (или где там во фре slapd.conf)поставь строчку

password-hash {CRYPT}


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 23-Янв-07 17:02 
cat /etc/ldap.conf
base dc=gtss,dc=ru
host 127.0.0.1
uri ldap://192.168.100.8:389/
#uri ldapi:///var/run/openldap/ldapi/
binddn cn=root,ou=users,dc=gtss,dc=ru
bindpw тут пароль
rootbinddn cn=root,ou=users,dc=gtss,dc=ru
port 389
ldap_version 3
#scope one
pam_login_attribute uid
pam_filter objectclass=posixAccount
pam_min_uid 1000
pam_max_uid 30000
nss_base_shadow         ou=users,dc=gtss,dc=ru?one
nss_base_passwd         ou=users,dc=gtss,dc=ru?one
nss_base_group          ou=groups,dc=gtss,dc=ru?one
ssl no
password-hash {CRYPT}
pam_password crypt

cat /etc/pam.d/sshd
auth            required        pam_nologin.so          no_warn
auth            sufficient      pam_opie.so             no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so       no_warn allow_local
auth            sufficient      /usr/local/lib/pam_ldap.so no_warn
auth            required        pam_unix.so             no_warn try_first_pass

account         required        pam_login_access.so
account         required        pam_unix.so
account         sufficient      /usr/local/lib/pam_ldap.so

session         required        pam_permit.so
session         required        /usr/local/lib/pam_ldap.so


password        required        pam_unix.so             no_warn try_first_pass
password        sufficient      /usr/local/lib/pam_ldap.so

cat /etc/pam.d/pop3
auth            sufficient      /usr/local/lib/pam_ldap.so
auth            required        pam_unix.so             no_warn try_first_pass

При этом при попытке логина в систему:

ssh 127.0.0.1 -l test
Password:
Old Password:
Password:
Old Password:
Password:
Old Password:
Permission denied (publickey,keyboard-interactive).

в логах при этом:
Jan 23 17:00:41 servincom sshd[11351]: error: PAM: authentication error for test from localhost
Jan 23 17:00:45 servincom sshd[11357]: error: PAM: permission denied for test from localhost

Если попробовать забрать почту, то тоже по нулям.
В логах при этом:

Jan 23 17:01:49 gtss qpopper[11399]: test at 192.168.100.230 (192.168.100.230): -ERR [AUTH] PAM authentication failed for user "test": new authentication token required (10) [pop_pass.c:560]
Jan 23 17:01:49 gtssqpopper[11399]: [AUTH] Failed attempted login to test from host (192.168.100.230) 192.168.100.230 [pop_pass.c:1277]


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 24-Янв-07 10:27 
а  getent shadow что говорит?
только поле паролей сюда не кидай :-D

пароли crypt нормально заведены в ldap?


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 24-Янв-07 10:35 
>а  getent shadow что говорит?
Говорит:
getent: Command not found.
%))))
Видимо во FreeBSD решили что это лишняя фича.
id User выдаёт всё корректно.
finger говорит что пользователь не найден.

>пароли crypt нормально заведены в ldap?
В смысле "нормально"?

Насторожило вот что:

slappasswd -h {CRYPT}
New password:
Re-enter new password:
Password generation failed for scheme CRYPT: scheme not recognized

Хотя LAM показывает что пароли crypt и всё дескать нормально...


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 24-Янв-07 10:40 
ААА, а версия то лдапа какая?
--enable-crypt - делал при сборке?
а то он уже давно отключен по умолчанию, ибо взломонестойкий, сцуконах :)

"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 24-Янв-07 10:50 
>ААА, а версия то лдапа какая?
2.2.30

>--enable-crypt - делал при сборке?
>а то он уже давно отключен по умолчанию, ибо взломонестойкий, сцуконах :)
Скорее нет, чем да...

А с SSHA оно никак работать не будет?


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 24-Янв-07 12:47 
Переправил везде где можно на SSHA.

То есть в итоге:

base dc=servincom,dc=ru
host 127.0.0.1
uri ldap://192.168.100.15:389/
binddn cn=root,ou=users,dc=servincom,dc=ru
bindpw Тут пароль
rootbinddn cn=root,ou=users,dc=servincom,dc=ru
port 389
ldap_version 3
scope one
pam_login_attribute uid
pam_filter objectclass=posixAccount
pam_min_uid 1000
pam_max_uid 30000
nss_base_shadow         ou=users,dc=servincom,dc=ru?one
nss_base_passwd         ou=users,dc=servincom,dc=ru?one
nss_base_group          ou=groups,dc=servincom,dc=ru?one
ssl no
pam_password SSHA

cat /usr/local/etc/openldap/slapd.conf
include         /usr/local/etc/openldap/schema/core.schema
include         /usr/local/etc/openldap/schema/cosine.schema
include         /usr/local/etc/openldap/schema/inetorgperson.schema
include         /usr/local/etc/openldap/schema/misc.schema
include         /usr/local/etc/openldap/schema/nis.schema
include         /usr/local/etc/openldap/schema/openldap.schema
include         /usr/local/etc/openldap/schema/samba.schema
include         /usr/local/etc/openldap/schema/sendmail.schema

pidfile         /var/run/openldap/slapd.pid
argsfile        /var/run/openldap/slapd.args

allow bind_v2

database        ldbm

suffix          "dc=servincom,dc=ru"
rootdn          "cn=root,ou=users,dc=servincom,dc=ru"

rootpw          {SSHA}пароль сгенерённый slappasswd

password-hash   {SSHA}

#Уровень логирования
loglevel 200

directory       /var/db/openldap-data

index   objectClass,uid,uidNumber,gidNumber     eq
index   cn,mail,surname,givenname               eq,subinitial

# FOR samba3
index   sambaSID                eq
index   sambaPrimaryGroupSID    eq
index   sambaDomainName         eq

# Basic ACL

access to attr=userPassword by self write by anonymous read by * none
access to attrs=sambaLMPassword,sambaNTPassword by dn="cn=root,ou=users,dc=servincom,dc=ru" write by * none
access to * by * read

Теперь это выглядит так:
ssh user@127.0.0.1
Password:
Old Password:
Password:
Old Password:
Password:
Old Password:
Permission denied (publickey,keyboard-interactive).

tail -f /var/log/messages

Jan 24 12:14:24 servincom sshd[1279]: error: PAM: permission denied for user from localhost

(то, что сменилось имя домена - нормально. другая машина для опытов).


При этом:
tail -f /var/log/debug.log

Jan 24 12:45:18 servincom slapd[409]: daemon: activity on 1 descriptors
Jan 24 12:45:18 servincom slapd[409]: daemon: new connection on 8
Jan 24 12:45:18 servincom slapd[409]: daemon: added 8r
Jan 24 12:45:18 servincom slapd[409]: daemon: activity on:
Jan 24 12:45:18 servincom slapd[409]:
Jan 24 12:45:18 servincom slapd[409]: daemon: select: listen=6 active_threads=0 tvp=NULL
Jan 24 12:45:18 servincom slapd[409]: daemon: select: listen=7 active_threads=0 tvp=NULL
Jan 24 12:45:18 servincom slapd[409]: daemon: activity on 1 descriptors
Jan 24 12:45:18 servincom slapd[409]: daemon: activity on:
Jan 24 12:45:18 servincom slapd[409]:  8r
Jan 24 12:45:18 servincom slapd[409]:
Jan 24 12:45:18 servincom slapd[409]: daemon: read activity on 8
Jan 24 12:45:18 servincom slapd[409]: daemon: select: listen=6 active_threads=0 tvp=NULL
Jan 24 12:45:18 servincom slapd[409]: daemon: select: listen=7 active_threads=0 tvp=NULL
Jan 24 12:45:18 servincom slapd[409]: daemon: activity on 1 descriptors
Jan 24 12:45:18 servincom slapd[409]: daemon: activity on:
Jan 24 12:45:18 servincom slapd[409]:  8r
Jan 24 12:45:18 servincom slapd[409]:
Jan 24 12:45:18 servincom slapd[409]: daemon: read activity on 8
Jan 24 12:45:18 servincom slapd[409]: daemon: select: listen=6 active_threads=0 tvp=NULL
Jan 24 12:45:18 servincom slapd[409]: => access_allowed: search access to "uid=user,ou=users,dc=servincom,dc=ru" "objectClass" requested
Jan 24 12:45:18 servincom slapd[409]: <= root access granted
Jan 24 12:45:18 servincom slapd[409]: => access_allowed: search access to "uid=user,ou=users,dc=servincom,dc=ru" "uid" requested
Jan 24 12:45:18 servincom slapd[409]: <= root access granted
Jan 24 12:45:18 servincom slapd[409]: => access_allowed: read access to "uid=user,ou=users,dc=servincom,dc=ru" "entry" requested
Jan 24 12:45:18 servincom slapd[409]: <= root access granted
Jan 24 12:45:18 servincom slapd[409]: => access_allowed: read access to "uid=user,ou=users,dc=servincom,dc=ru" "objectClass" requested
Jan 24 12:45:18 servincom slapd[409]: <= root access granted
Jan 24 12:45:18 servincom slapd[409]: => access_allowed: read access to "uid=user,ou=users,dc=servincom,dc=ru" "shadowMax" requested
Jan 24 12:45:18 servincom slapd[409]: <= root access granted
Jan 24 12:45:18 servincom slapd[409]: => access_allowed: read access to "uid=user,ou=users,dc=servincom,dc=ru" "homeDirectory" requested
Jan 24 12:45:18 servincom slapd[409]: <= root access granted
Jan 24 12:45:18 servincom slapd[409]: => access_allowed: read access to "uid=user,ou=users,dc=servincom,dc=ru" "uid" requested
Jan 24 12:45:18 servincom slapd[409]: <= root access granted
Jan 24 12:45:18 servincom slapd[409]: => access_allowed: read access to "uid=user,ou=users,dc=servincom,dc=ru" "cn" requested
Jan 24 12:45:18 servincom slapd[409]: <= root access granted
Jan 24 12:45:18 servincom slapd[409]: => access_allowed: read access to "uid=user,ou=users,dc=servincom,dc=ru" "uidNumber" requested
Jan 24 12:45:18 servincom slapd[409]: <= root access granted
Jan 24 12:45:18 servincom slapd[409]: => access_allowed: read access to "uid=user,ou=users,dc=servincom,dc=ru" "gidNumber" requested
Jan 24 12:45:18 servincom slapd[409]: <= root access granted
Jan 24 12:45:18 servincom slapd[409]: => access_allowed: read access to "uid=user,ou=users,dc=servincom,dc=ru" "shadowLastChange" requested
Jan 24 12:45:18 servincom slapd[409]: <= root access granted
Jan 24 12:45:18 servincom slapd[409]: => access_allowed: read access to "uid=user,ou=users,dc=servincom,dc=ru" "userPassword" requested
Jan 24 12:45:18 servincom slapd[409]: <= root access granted
Jan 24 12:45:18 servincom slapd[409]: => access_allowed: read access to "uid=user,ou=users,dc=servincom,dc=ru" "loginShell" requested
Jan 24 12:45:18 servincom slapd[409]: <= root access granted
Jan 24 12:45:18 servincom slapd[409]: daemon: select: listen=7 active_threads=0 tvp=NULL
Jan 24 12:45:18 servincom slapd[409]: daemon: activity on 2 descriptors
Jan 24 12:45:18 servincom slapd[409]: daemon: new connection on 15
Jan 24 12:45:18 servincom slapd[409]: daemon: added 15r
Jan 24 12:45:18 servincom slapd[409]: daemon: activity on:
Jan 24 12:45:18 servincom slapd[409]:  8r
Jan 24 12:45:18 servincom slapd[409]:

то есть доступ, вроде нормальный...



"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 25-Янв-07 11:35 
>Переправил везде где можно на SSHA.
>
>pam_password SSHA
>

пока не виделв форумах, что бы кроме crypt что то работало
может дело в библиотеке pam_ldap.so, типа понимает только crypt?

>cat /usr/local/etc/openldap/slapd.conf
здесь меняй хеш как твоей душе
>rootpw          {SSHA}пароль сгенерённый
>slappasswd
здесь прописывается хеш, исползуемый системой
>password-hash   {SSHA}

>
>Теперь это выглядит так:
>ssh user@127.0.0.1
>Password:
>Old Password:
>Password:
>Old Password:
>Password:
>Old Password:
>Permission denied (publickey,keyboard-interactive).
>
честно говоря, такго ни разу не встречал
меня обычно посылало, как при неверном пароле (надеюсь, root остался в /etc/passwd?)


>При этом:
>tail -f /var/log/debug.log
...
>то есть доступ, вроде нормальный...
а куда ж он денется? ldap  пользователь авторизуется,  соответственно в рамках самого ldap всё работает корректно, проблема на уровне pam

в общем, я себе оставил crypt и пока сдался, мож кто другой победит, а я подсмотрю...
но пока crypt работает, проблем нет


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 25-Янв-07 12:30 
>пока не виделв форумах, что бы кроме crypt что то работало
>может дело в библиотеке pam_ldap.so, типа понимает только crypt?
Не знаю.

>в общем, я себе оставил crypt и пока сдался, мож кто другой
>победит, а я подсмотрю... но пока crypt работает, проблем нет

OpenLDAP собирал из портов.

В Makefile ключ --enable-crypt есть. При этом slappasswd ведёт себя как описано выше. Ещё можно как-то проверить?

Как перевести всё на CRYPT теперь не понимаю, но попробую...



"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 25-Янв-07 13:14 
>В Makefile ключ --enable-crypt есть. При этом slappasswd ведёт себя как описано
>выше. Ещё можно как-то проверить?
>
>Как перевести всё на CRYPT теперь не понимаю, но попробую...
cначала пересобери openldap с ключом --enable-crypt
затем в slapd.conf: password-hash {CRYPT}
затем переделай пароли в ldap на {CRYPT}
и всё

правда у меня опция "pam_password md5" из файла /etc/ldap.conf в на pam_ldap влияния не оказывает(проверено перебором), но тут уже может быть различия между фрёй и линуксами


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 25-Янв-07 14:23 
>cначала пересобери openldap с ключом --enable-crypt
Изначально так собран.

>затем в slapd.conf: password-hash {CRYPT}
Просто строку? Вставил.

>затем переделай пароли в ldap на {CRYPT}
Переделал.

>и всё
Эффект тот же...

Jan 25 14:22:41 servincom sshd[1851]: pam_ldap: error trying to bind as user "uid=test,ou=users,dc=servincom,dc=ru" (Invalid credentials)
Jan 25 14:22:41 servincom sshd[1849]: error: PAM: authentication error for illegal user test from localhost


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 26-Янв-07 09:54 
>>cначала пересобери openldap с ключом --enable-crypt
>Изначально так собран.
>
>>затем в slapd.conf: password-hash {CRYPT}
>Просто строку? Вставил.
>
>>затем переделай пароли в ldap на {CRYPT}
>Переделал.
>
>>и всё
>Эффект тот же...
>
>Jan 25 14:22:41 servincom sshd[1851]: pam_ldap: error trying to bind as user
>"uid=test,ou=users,dc=servincom,dc=ru" (Invalid credentials)
>Jan 25 14:22:41 servincom sshd[1849]: error: PAM: authentication error for illegal user
>test from localhost


а ldapsearch -b "ou=users,dc=servincom,dc=ru" - x -W -D "uid=test,ou=users,dc=servincom,dc=ru" "(objectClass=*)"
что пишет?


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 26-Янв-07 10:28 
>а ldapsearch -b "ou=users,dc=servincom,dc=ru" - x -W -D "uid=test,ou=users,dc=servincom,dc=ru" "(objectClass=*)"
>что пишет?

В том-то и дело, что всё хорошо...

# extended LDIF
#
# LDAPv3
# base <ou=users,dc=servincom,dc=ru> with scope sub
# filter: (objectclass=*)
# requesting: - x -W -D uid=test,ou=users,dc=servincom,dc=ru (objectClass=*)
#

# users, servincom.ru
dn: ou=users,dc=servincom,dc=ru

# root, users, servincom.ru
dn: uid=root,ou=users,dc=servincom,dc=ru

# nobody, users, servincom.ru
dn: uid=nobody,ou=users,dc=servincom,dc=ru



"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 26-Янв-07 15:42 
>>а ldapsearch -b "ou=users,dc=servincom,dc=ru" - x -W -D "uid=test,ou=users,dc=servincom,dc=ru" "(objectClass=*)"
>>что пишет?
>
>В том-то и дело, что всё хорошо...
>
># extended LDIF
>#
># LDAPv3
># base <ou=users,dc=servincom,dc=ru> with scope sub
># filter: (objectclass=*)
># requesting: - x -W -D uid=test,ou=users,dc=servincom,dc=ru (objectClass=*)
>#
>
># users, servincom.ru
>dn: ou=users,dc=servincom,dc=ru
>
># root, users, servincom.ru
>dn: uid=root,ou=users,dc=servincom,dc=ru
>
># nobody, users, servincom.ru
>dn: uid=nobody,ou=users,dc=servincom,dc=ru

а где в результатах поиска  uid=test,ou=users,dc=servincom,dc=ru, на который ругался pam_ldap?


меня смущает вот это:
>Jan 25 14:22:41 servincom sshd[1851]: pam_ldap: error trying to bind as user
>"uid=test,ou=users,dc=servincom,dc=ru" (Invalid credentials)

"я, pam_ldap, не могу подключится пользователем uid=test,... для того что бы авторизовать кого-то другого, потому как пароли не совпали"


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 26-Янв-07 15:48 
>а где в результатах поиска  uid=test,ou=users,dc=servincom,dc=ru, на который ругался pam_ldap?

Сокращён мной ибо он там есть:

# extended LDIF
#
# LDAPv3
# base <ou=users,dc=servincom,dc=ru> with scope sub
# filter: (objectclass=*)
# requesting: - x -W -D uid=test,ou=users,dc=servincom,dc=ru (objectClass=*)
#

# users, servincom.ru
dn: ou=users,dc=servincom,dc=ru

# root, users, servincom.ru
dn: uid=root,ou=users,dc=servincom,dc=ru

# nobody, users, servincom.ru
dn: uid=nobody,ou=users,dc=servincom,dc=ru

# test, users, servincom.ru
dn: uid=test,ou=users,dc=servincom,dc=ru

:))))



"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 26-Янв-07 16:00 
>>>а ldapsearch -b "ou=users,dc=servincom,dc=ru" - x -W -D "uid=test,ou=users,dc=servincom,dc=ru" "(objectClass=*)"
>>>что пишет?
>>
>>В том-то и дело, что всё хорошо...
>>
>># extended LDIF
>>#
>># LDAPv3
>># base <ou=users,dc=servincom,dc=ru> with scope sub
>># filter: (objectclass=*)
>># requesting: - x -W -D uid=test,ou=users,dc=servincom,dc=ru (objectClass=*)
>>#
>>
>># users, servincom.ru
>>dn: ou=users,dc=servincom,dc=ru
>>
>># root, users, servincom.ru
>>dn: uid=root,ou=users,dc=servincom,dc=ru
>>
>># nobody, users, servincom.ru
>>dn: uid=nobody,ou=users,dc=servincom,dc=ru
>
>а где в результатах поиска  uid=test,ou=users,dc=servincom,dc=ru, на который ругался pam_ldap?
>
>
>меня смущает вот это:
>>Jan 25 14:22:41 servincom sshd[1851]: pam_ldap: error trying to bind as user
>>"uid=test,ou=users,dc=servincom,dc=ru" (Invalid credentials)
>
>"я, pam_ldap, не могу подключится пользователем uid=test,... для того что бы авторизовать
>кого-то другого, потому как пароли не совпали"

Как только ты поймёшь, какого лешего pam_ldap использует    uid=test,ou=users,dc=servincom,dc=ru вместо cn=root,ou=users,dc=gtss,dc=ru ты поймёшь,что у тебя не работает

как я понял pam_ldap использует binddn когда работает не из под рута, и rootbinddn когда работает из под рута и тупо делат запрос в лдап. При нахождении нужных записей pam_ldap сравнивает пароли и если они совпали пускает тебя.

посмотри, где у тебя прописан uid=test,ou=users,dc=servincom,dc=ru (grep -rP "uid\=test" /etc/* рулит!) и попробуй его заменить на cn=root,ou=users,dc=gtss,dc=ru

хотя работать через rootbinddn нехорошо :)



"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 26-Янв-07 16:03 
меня терзают смутные сомнения, может на фре как то по другому настраивается конфиг библиотеки pam_ldap? :-/

на линуксах pam_ldap работает, конфигов тьма. А вот фрю я так поробно как линукс не знаю(к моему сожалению)

а ещё такая была закавыка, долго ибалсо с лдапом, он сцуко не работал - притом что всё настроено...
оказалась такая лажа - в файле /etc/ldap.secret после пароля не стоял перевод строки(а как оказалось должен был, хотя я про это нигде не читал).
и вот из-за такого 6лядства я потерял целую неделю.


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 26-Янв-07 16:34 
>и вот из-за такого 6лядства я потерял целую неделю.
Перевод строки поставил. Не помогло.

Вообще забавно:
если ssh test@localhost, то в логах:

Jan 26 16:31:43 servincom sshd[62912]: pam_ldap: error trying to bind as user "uid=test,ou=users,dc=servincom,dc=ru" (Invalid credentials)
Jan 26 16:31:43 servincom sshd[62910]: error: PAM: authentication error for illegal user test from localhost
Jan 26 16:31:44 servincom sshd[62913]: pam_ldap: error trying to bind as user "uid=test,ou=users,dc=servincom,dc=ru" (Invalid credentials)
Jan 26 16:31:44 servincom sshd[62910]: error: PAM: authentication error for illegal user test from localhost
Jan 26 16:31:46 servincom sshd[62914]: pam_ldap: error trying to bind as user "uid=test,ou=users,dc=servincom,dc=ru" (Invalid credentials)
Jan 26 16:31:46 servincom sshd[62910]: error: PAM: authentication error for illegal user test from localhost

Если ssh denja@localhost, то
Jan 26 16:31:51 servincom sshd[62916]: error: PAM: authentication error for denja from localhost

У test пароль {CRYPT}, а у denja он {SSHA}...



"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 26-Янв-07 16:22 
>>меня смущает вот это:
>>>Jan 25 14:22:41 servincom sshd[1851]: pam_ldap: error trying to bind as user
>>>"uid=test,ou=users,dc=servincom,dc=ru" (Invalid credentials)
Меня смущает вот это: Invalid credentials

>Как только ты поймёшь, какого лешего pam_ldap использует    uid=test,ou=users,dc=servincom,dc=ru
>вместо cn=root,ou=users,dc=gtss,dc=ru ты поймёшь,что у тебя не работает
Это да. Но я не понимаю. man pam_ldap ничего на эту тему не говорит толкового.

>как я понял pam_ldap использует binddn когда работает не из под рута,
>и rootbinddn когда работает из под рута и тупо делат запрос
>в лдап. При нахождении нужных записей pam_ldap сравнивает пароли и если
>они совпали пускает тебя.
pam_ldap использует анонимуса когда работает не из-под рута и когда не указан явно binddn.

>посмотри, где у тебя прописан uid=test,ou=users,dc=servincom,dc=ru
Нигде.

> (grep -rP "uid\=test" /etc/*) -P - это что? Линуха под рукой нет, а во FreeBSD эта опция не поддерживается (гугль тоже с ходу ничего не дал...)

man pam_ldap говорит что конфиг должен быть /etc/ldap.conf
cat /etc/ldap.conf
base dc=servincom,dc=ru
host 127.0.0.1
uri ldap://192.168.100.15:389/
binddn cn=root,ou=users,dc=servincom,dc=ru
bindpw пароль_в_открытом_виде (не хэш)
rootbinddn cn=root,ou=users,dc=servincom,dc=ru
port 389
ldap_version 3
scope one
pam_login_attribute cn
#pam_filter objectclass=posixAccount
pam_min_uid 1000
pam_max_uid 30000
nss_base_shadow         ou=users,dc=servincom,dc=ru?one
nss_base_passwd         ou=users,dc=servincom,dc=ru?one
nss_base_group          ou=groups,dc=servincom,dc=ru?one
ssl no
pam_password CRYPT


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 26-Янв-07 16:27 
http://www.opennet.me/base/net/pam_ldap.txt.html

Также неоходимо создать файл /etc/ldap.secret и сохранить в нем пароль
   администратора каталога. Этот пароль будет использоваться для
   выполнения административных функций, и не будет доступен обычным
   пользователям:

        # echo "zarazamelkaya" >/etc/ldap.secret
        # chmod 600 /etc/ldap.secret
        # chmod root:root /etc/ldap.secret

у тебя такое есть?


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 26-Янв-07 16:37 
>у тебя такое есть?
конечно.



"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 26-Янв-07 16:55 
>>>меня смущает вот это:
>>>>Jan 25 14:22:41 servincom sshd[1851]: pam_ldap: error trying to bind as user
>>>>"uid=test,ou=users,dc=servincom,dc=ru" (Invalid credentials)
>Меня смущает вот это: Invalid credentials
>
>>Как только ты поймёшь, какого лешего pam_ldap использует    uid=test,ou=users,dc=servincom,dc=ru
>>вместо cn=root,ou=users,dc=gtss,dc=ru ты поймёшь,что у тебя не работает
>Это да. Но я не понимаю. man pam_ldap ничего на эту тему
>не говорит толкового.
>
>>как я понял pam_ldap использует binddn когда работает не из под рута,
>>и rootbinddn когда работает из под рута и тупо делат запрос
>>в лдап. При нахождении нужных записей pam_ldap сравнивает пароли и если
>>они совпали пускает тебя.
>pam_ldap использует анонимуса когда работает не из-под рута и когда не указан
>явно binddn.
>
>>посмотри, где у тебя прописан uid=test,ou=users,dc=servincom,dc=ru
>Нигде.
>
>> (grep -rP "uid\=test" /etc/*) -P - это что? Линуха под рукой нет, а во FreeBSD эта опция не поддерживается (гугль тоже с ходу ничего не дал...)
>
>man pam_ldap говорит что конфиг должен быть /etc/ldap.conf
>cat /etc/ldap.conf
>base dc=servincom,dc=ru
>host 127.0.0.1

>uri ldap://192.168.100.15:389/
а вот это про что???? у меня такого нету
>binddn cn=root,ou=users,dc=servincom,dc=ru
>bindpw пароль_в_открытом_виде (не хэш)
>rootbinddn cn=root,ou=users,dc=servincom,dc=ru
>port 389
>ldap_version 3
>scope one
>pam_login_attribute cn
>#pam_filter objectclass=posixAccount
>pam_min_uid 1000
>pam_max_uid 30000
>nss_base_shadow         ou=users,dc=servincom,dc=ru?one
>nss_base_passwd         ou=users,dc=servincom,dc=ru?one
>nss_base_group          ou=groups,dc=servincom,dc=ru?one
>ssl no
>pam_password CRYPT

вот мой конфиг, только что лазил юзером :)
[anyuser@anyhost]$ cat /etc/ldap.conf
host 127.0.0.1
base ou=samba,o=myorg,c=ru
binddn cn=samba,o=myorg,c=ru
bindpw NotEvenTry
rootbinddn cn=samba,o=myorg,c=ru
scope sub
ssl no
pam_password md5
pam_login_attribute uid
pam_member_attribute gid
nss_base_passwd ou=Users,ou=samba,o=myorg,c=ru?sub?objectClass=posixAccount
nss_base_passwd ou=Computers,ou=samba,o=myorg,c=ru?sub?objectClass=posixAccount
nss_base_shadow ou=Users,ou=samba,o=myorg,c=ru?sub?objectClass=posixAccount
nss_base_group  ou=Groups,ou=samba,o=myorg,c=ru?sub?objectClass=posixGroup


кстати, grep -P  - это исползовать регулярные выражения perl (из libpcre) я их лучше знаю, чем обычные регексы, так что не всех хостах у себя пересобрал grep  с этой опцией :)))


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 26-Янв-07 17:09 
>>uri ldap://192.168.100.15:389/
>а вот это про что???? у меня такого нету
Выдержка из man:
       uri <ldap[is]://[name[:port]] ...>
              For  LDAP client libraries that support it, specifies the URI(s)
              of the LDAP server(s) to connect to. The URI scheme may be ldap,
              ldapi,  or  ldaps, specifying LDAP over TCP, IPC and SSL respec-
              tively. If applicable, a  port  number  can  be  specified;  the
              default  port  number for the selected protocol is used if omit-
              ted. This option takes precedence over the host  option;  it  is
              not possible to combine the two.

В общем, ни на что не влияет.

Разница в конфигах:
>scope sub
>pam_password md5
>pam_member_attribute gid
>nss_base_passwd ou=Users,ou=samba,o=myorg,c=ru?sub?objectClass=posixAccount
>nss_base_passwd ou=Computers,ou=samba,o=myorg,c=ru?sub?objectClass=posixAccount
>nss_base_shadow ou=Users,ou=samba,o=myorg,c=ru?sub?objectClass=posixAccount
>nss_base_group  ou=Groups,ou=samba,o=myorg,c=ru?sub?objectClass=posixGroup

Добавил (с правкой под свой DN) - ошибка та же...

Почему он лезет тестом и что не так с паролем...


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 26-Янв-07 17:26 
>
>В общем, ни на что не влияет.
тогда закомментируй его нах


>Почему он лезет тестом и что не так с паролем...

тогда осталась последняя надежда
делай  рутовую сессию

сначала запусти slapd -d 255, и смотри в логах, что режет глаз, что необыно, на что ругается

потом запусти
/usr/sbin/tcpdump -X -i lo udp and port 389 и смотри что пишет
делай попытки от разных юзеров и смотри, кем лезет pam_ldap
ищи uid=test


кстати, обычно ещё одна копия ldap.conf лежит у меня в /etc/openldap. можкт он перебивает конфиг?


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 26-Янв-07 18:10 
>тогда закомментируй его нах
Эффекта - 0. :)))

>сначала запусти slapd -d 255, и смотри в логах, что режет глаз,
>что необыно, на что ругается
Не ругается... Вообще все Ок...

>/usr/sbin/tcpdump -X -i lo udp and port 389 и смотри что пишет
Информация для меня малополезная. :)))) Так тоже делал уже. Что-то вроде:

18:10:14.284219 IP 127.0.0.1.62539 > 127.0.0.1.389: P 1:60(59) ack 1 win 35840 <nop,nop,timestamp 102185324 102185324>
        0x0000:  4500 006f bc62 4000 4006 8024 7f00 0001  E..o.b@.@..$....
        0x0010:  7f00 0001 f44b 0185 6092 a8de cb3e 4150  .....K..`....>AP
        0x0020:  8018 8c00 1be2 0000 0101 080a 0617 396c  ..............9l
        0x0030:  0617 396c 3039 0201 0160 3402 0103 0423  ..9l09...`4....#
        0x0040:  636e 3d72 6f6f 742c 6f75 3d75 7365 7273  cn=root,ou=users
        0x0050:  2c64 633d 7365 7276 696e 636f            ,dc=servinco


18:10:14.286247 IP 127.0.0.1.389 > 127.0.0.1.62539: P 15:396(381) ack 309 win 35840 <nop,nop,timestamp 102185326 102185325>
        0x0000:  4500 01b1 bc66 4000 4006 7ede 7f00 0001  E....f@.@.~.....
        0x0010:  7f00 0001 0185 f44b cb3e 415e 6092 aa12  .......K.>A^`...
        0x0020:  8018 8c00 0eb6 0000 0101 080a 0617 396e  ..............9n
        0x0030:  0617 396d 3082 0179 0201 0264 8201 7204  ..9m0..y...d..r.
        0x0040:  2575 6964 3d64 656e 6a61 2c6f 753d 7573  %uid=denja,ou=us
        0x0050:  6572 732c 6463 3d73 6572 7669            ers,dc=servi


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 30-Янв-07 10:41 
Неужели ты готов признать, что какой-то там slapd умнее тебя???

slapd -d 255 с выволом в консоль
затем, рестартуй nscd c другой консоли
затем логин рутом и любым юзером кроме 'test'
затем в консоли где отладка slapd,  смотрим, что пишет, есть ли ругательства.

идея в том, что бы проследить всю цепочку запросов pam_ldap.
Я почему-то уверен, что закавыка элементарная

Кстати, ты pam_ldap пересобирал, после переустановки библиотек ldap?


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 30-Янв-07 11:35 
>Неужели ты готов признать, что какой-то там slapd умнее тебя???
Когда я встречаю такое количество слов experimental в документации, то, в общем, готов. :)))
Но тут у меня нет выбора. Мне надо чтобы доменный логин и пароль были так же и почтовыми. :)))

>slapd -d 255 с выволом в консоль
Тонны бесполезной информации. :)))

>затем, рестартуй nscd c другой консоли
Этого нет. Это кто?

>затем логин рутом и любым юзером кроме 'test'
>затем в консоли где отладка slapd,  смотрим, что пишет, есть ли
>ругательства.
Слово error и deny нигде не встречается...

>Кстати, ты pam_ldap пересобирал, после переустановки библиотек ldap?
Каких библиотек?
Я сначала ставил LDAP, а потом pam_ldap...


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 30-Янв-07 12:40 
>>Неужели ты готов признать, что какой-то там slapd умнее тебя???
>Когда я встречаю такое количество слов experimental в документации, то, в общем,
>готов. :)))
>Но тут у меня нет выбора. Мне надо чтобы доменный логин и
>пароль были так же и почтовыми. :)))
>
читай как "юниксовыми"
>>slapd -d 255 с выволом в консоль
>Тонны бесполезной информации. :)))
>
>>затем, рестартуй nscd c другой консоли
>Этого нет. Это кто?

name service cache daemon - кэширует запросы, в частности в лдап, крайне желателен для
pam_ldap
>
>>затем логин рутом и любым юзером кроме 'test'
>>затем в консоли где отладка slapd,  смотрим, что пишет, есть ли
>>ругательства.
>Слово error и deny нигде не встречается...
это понятно, важнее узнать, находит ли pam_ldap атрибут пароля юзверя, что бы его сравнить с введённым

>
>>Кстати, ты pam_ldap пересобирал, после переустановки библиотек ldap?
>Каких библиотек?
>Я сначала ставил LDAP, а потом pam_ldap...
блин, я опять забыл, что во фре система портов...

а по какому именно руководству ты настраивал?


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 30-Янв-07 13:20 
>читай как "юниксовыми"
Поэтому SSHой и тестирую. :)))

>name service cache daemon - кэширует запросы, в частности в лдап, крайне
>желателен для pam_ldap
Хм... Стоит поставить?

>это понятно, важнее узнать, находит ли pam_ldap атрибут пароля юзверя, что бы
>его сравнить с введённым
Выглядит это так:
Jan 30 11:49:54 servincom slapd[409]: => access_allowed: read access to "uid=test,ou=users,dc=servincom,dc=ru" "entry" requested
Jan 30 11:49:54 servincom slapd[409]: <= root access granted
Jan 30 11:49:54 servincom slapd[409]: => access_allowed: read access to "uid=test,ou=users,dc=servincom,dc=ru" "shadowLastChange" requested
Jan 30 11:49:54 servincom slapd[409]: <= root access granted
Jan 30 11:49:54 servincom slapd[409]: => access_allowed: read access to "uid=test,ou=users,dc=servincom,dc=ru" "shadowMax" requested
Jan 30 11:49:54 servincom slapd[409]: <= root access granted
Jan 30 11:49:54 servincom slapd[409]: => access_allowed: read access to "uid=test,ou=users,dc=servincom,dc=ru" "uid" requested
Jan 30 11:49:54 servincom slapd[409]: <= root access granted
Jan 30 11:49:54 servincom slapd[409]: => access_allowed: read access to "uid=test,ou=users,dc=servincom,dc=ru" "cn" requested
Jan 30 11:49:54 servincom slapd[409]: <= root access granted
Jan 30 11:49:54 servincom slapd[409]: => access_allowed: read access to "uid=test,ou=users,dc=servincom,dc=ru" "homeDirectory" requested
Jan 30 11:49:54 servincom slapd[409]: <= root access granted
Jan 30 11:49:54 servincom slapd[409]: => access_allowed: read access to "uid=test,ou=users,dc=servincom,dc=ru" "uidNumber" requested
Jan 30 11:49:54 servincom slapd[409]: <= root access granted
Jan 30 11:49:54 servincom slapd[409]: => access_allowed: read access to "uid=test,ou=users,dc=servincom,dc=ru" "objectClass" requested
Jan 30 11:49:54 servincom slapd[409]: <= root access granted
Jan 30 11:49:54 servincom slapd[409]: => access_allowed: read access to "uid=test,ou=users,dc=servincom,dc=ru" "gidNumber" requested
Jan 30 11:49:54 servincom slapd[409]: <= root access granted
Jan 30 11:49:54 servincom slapd[409]: => access_allowed: read access to "uid=test,ou=users,dc=servincom,dc=ru" "gecos" requested
Jan 30 11:49:54 servincom slapd[409]: <= root access granted
Jan 30 11:49:54 servincom slapd[409]: => access_allowed: read access to "uid=test,ou=users,dc=servincom,dc=ru" "userPassword" requested
Jan 30 11:49:54 servincom slapd[409]: <= root access granted
Jan 30 11:49:54 servincom slapd[409]: => access_allowed: read access to "uid=test,ou=users,dc=servincom,dc=ru" "loginShell" requested
Jan 30 11:49:54 servincom slapd[409]: <= root access granted

>блин, я опять забыл, что во фре система портов...
%))))

>а по какому именно руководству ты настраивал?
http://rrv.jino-net.ru/Samba3.htm
http://www.lissyara.su/?id=1280
http://www.lissyara.su/?id=1279



"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 31-Янв-07 10:04 
http://www.idealx.com/content/view/187/172/lang,fr/
мне проще. Я использовал руководство от IDEALX, но оно похоже только для линукса
зато после него всё работает

>>а по какому именно руководству ты настраивал?
>http://rrv.jino-net.ru/Samba3.htm

да, у меня было с настройками НАМНОГО проще (см smbldap-tools)

>http://www.lissyara.su/?id=1280
>http://www.lissyara.su/?id=1279



"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 31-Янв-07 10:08 
>http://www.idealx.com/content/view/187/172/lang,fr/
>мне проще. Я использовал руководство от IDEALX, но оно похоже только для
>линукса
>зато после него всё работает

Структуры базы LDAP я тоже с помошью smbldap-tools делал...


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 31-Янв-07 10:24 
>>http://www.idealx.com/content/view/187/172/lang,fr/
>>мне проще. Я использовал руководство от IDEALX, но оно похоже только для
>>линукса
>>зато после него всё работает
>
>Структуры базы LDAP я тоже с помошью smbldap-tools делал...


ну тогда я не знаю... :(
для очистки моей совести можешь сбросить мне на мыльце пожатый лог с консоли slapd -d 255 во время логина юзера тест.
Вдруг у меня глаз не замылен?...


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ Kill , 31-Янв-07 21:24 
>>>http://www.idealx.com/content/view/187/172/lang,fr/
>>>мне проще. Я использовал руководство от IDEALX, но оно похоже только для
>>>линукса
>>>зато после него всё работает
>>
>>Структуры базы LDAP я тоже с помошью smbldap-tools делал...
>
>
>ну тогда я не знаю... :(
>для очистки моей совести можешь сбросить мне на мыльце пожатый лог с
>консоли slapd -d 255 во время логина юзера тест.
>Вдруг у меня глаз не замылен?...
Куда кидать-то? :))))

dj_kill на маил в домене ру.


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 06-Мрт-07 14:55 
Подниму тему.

В общем, борьба с конфигами довела меня до состояния что при логине это выглядит так:

login as: test
Using keyboard-interactive authentication.
Password:
Old Password:
Access denied

При этом в auth.log попадает только:

Mar  6 14:51:27 geo-samba sshd[60647]: error: PAM: permission denied for test from kill.mon.gtss.ru

Может это уже сам PAM себя так ведёт? Куда копать уже не понимаю...


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 07-Мрт-07 09:55 
>Подниму тему.
>
>В общем, борьба с конфигами довела меня до состояния что при логине
>это выглядит так:
>
>login as: test
>Using keyboard-interactive authentication.
>Password:
>Old Password:
>Access denied
>
>При этом в auth.log попадает только:
>
>Mar  6 14:51:27 geo-samba sshd[60647]: error: PAM: permission denied for test
>from kill.mon.gtss.ru
>
>Может это уже сам PAM себя так ведёт? Куда копать уже не
>понимаю...

pam вед


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 07-Мрт-07 09:57 
>Подниму тему.
>
>В общем, борьба с конфигами довела меня до состояния что при логине
>это выглядит так:
>
>login as: test
>Using keyboard-interactive authentication.
>Password:
>Old Password:
>Access denied
>
>При этом в auth.log попадает только:
>
>Mar  6 14:51:27 geo-samba sshd[60647]: error: PAM: permission denied for test
>from kill.mon.gtss.ru
>
>Может это уже сам PAM себя так ведёт? Куда копать уже не
>понимаю...

pam ведёт себя одинаково для всех служб? Ftp, telnet, sshd?


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 07-Мрт-07 10:13 
>pam ведёт себя одинаково для всех служб? Ftp, telnet, sshd?
Если через LDAP - то проверял только почту и ssh. Эффект одинаковый.



"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 12-Мрт-07 13:36 
>>pam ведёт себя одинаково для всех служб? Ftp, telnet, sshd?
>Если через LDAP - то проверял только почту и ssh. Эффект одинаковый.
>

А ты проверял pam_ldap.so (или какое там во фре расширение для бибилиотек ) на наличие строчки uid=test... ?
И порт(котрый в портах) для pam_ldap бы проверить на наличие этого dn. Может он жёстко прописан?


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DJ_Kill , 12-Мрт-07 14:06 
>А ты проверял pam_ldap.so (или какое там во фре расширение для бибилиотек
>) на наличие строчки uid=test... ?
>И порт(котрый в портах) для pam_ldap бы проверить на наличие этого dn.
>Может он жёстко прописан?
А где он там может быть жёстко приписан и как это может влиять на точно такое же поведение если цепляться любым другим пользователем?


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено DogEater , 13-Мрт-07 13:21 
>>А ты проверял pam_ldap.so (или какое там во фре расширение для бибилиотек
>>) на наличие строчки uid=test... ?
>>И порт(котрый в портах) для pam_ldap бы проверить на наличие этого dn.
>>Может он жёстко прописан?
>А где он там может быть жёстко приписан и как это может
>влиять на точно такое же поведение если цепляться любым другим пользователем?
>


поведние именно в том, что в конфигах uid=test.. не прописан, а pam_ldap всегда лезет эти юзером в лдап, когда ты коннектишься не из под рута
ведь откуда-то он его берёт... :-\
всё таки пошли сжатый лог от slapd -d 255 на foomail<где-то>yandex.ru
пароли не забудь скрыть ;-)


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено ursal , 23-Ноя-09 00:13 
Нарвался на ту же траблу, почитал маны.

password-hash <hash> [<hash>...]  
This option configures one or more hashes to be used in generation of user passwords stored in  the userPassword  attribute  during  processing of LDAP Password Modify Extended Operations (RFC 3062). The <hash> must be one of {SSHA}, {SHA}, {SMD5}, {MD5}, {CRYPT}, and {CLEARTEXT}.  The  default  is {SSHA}.
...
Note  that  this option does not alter the normal user applications handling of userPassword during LDAP Add, Modify, or other LDAP operations.

другими словами, схема криптования работает только внутри лдапа, определяет как хранить пароли. а сам закриптованый пароль передается как стринг в пам (или другие юзер апликешнс) и если он был закриптован в CRYPT (то же самое что никсовые юзерские пароли), пам его понимает. если в любом другом виде - не понимает.

сейчас копаюсь на тему как заставить пам понимать что-то кроме крипта, так что если найдете раньше.. =)


"FreeBSD+PAM+LDAP Помогите подружить."
Отправлено wawont , 06-Дек-10 13:59 

> сейчас копаюсь на тему как заставить пам понимать что-то кроме крипта, так
> что если найдете раньше.. =)

/etc/auth.conf                                                                                                                              
#
# $FreeBSD: src/etc/auth.conf,v 1.6.32.1.2.1 2009/10/25 01:10:29 kensmith Exp $
#
# Configure some authentication-related defaults.  This file is being
# gradually subsumed by user class and PAM configuration.
#

crypt_default   =       md5 des