# udev не грузится с ldap авторизацией [SOLVED]

## ladserg

Натроил я себе LDAP авторизацию, самбу поставил, её тоже настроил, всё работает всё прекрасно, пользователи и группы берутся из LDAP'а, заходят.

Только вот одна беда, udevd не грузится при старте системы, грузится перестаёт когда в файле /etc/nsswitch.conf меняешь в строки:

```

...

passwd:      compat

shadow:      compat

group:       compat

...

```

на 

```

...

passwd:      compat ldap

shadow:      compat ldap

group:       compat ldap

...

```

На сколько я понял udevd пытается создать устройства и присвоить им права и сменить владельца, а группы и пользователей он пытается искать в LDAP'е, но на этом этапе не только LDAP не загружен, но и сети нет совсем. 

Я думал, что может через часик он поймёт, что нет лдапа и оставил на ночь, но udevd всё равно не загрузился.

В файле /etc/ldap.conf я добавил следующие строки:

```

...

nss_reconnect_tries 4

nss_reconnect_sleeptime 1

nss_reconnect_maxsleeptime 16

nss_reconnect_maxconntries 2

...

```

Не помогло. Тогда в файле /etc/nsswitch.conf я пытался написать следующую конструкцию:

```

...

passwd:      ldap [NOTFOUND=return] compat

shadow:      ldap [NOTFOUND=return] compat

group:       ldap [NOTFOUND=return] compat

...

```

И даже так:

```

...

passwd:      ldap [UNAVAIL=return] compat

shadow:      ldap [UNAVAIL=return] compat

group:       ldap [UNAVAIL=return] compat

...

```

Все равно не помогает.

Но если из файла /etc/nsswitch.conf убрать все упоминания о лдапе, до грузится нормально. Но тогда самба не берёт пользователей из лдапа. Да и всистему они заходить не хотят.

У меня стоят:

[ebuild   R   ] net-nds/openldap-2.3.24-r1  USE="berkdb crypt gdbm perl readline samba sasl ssl tcpd -debug -ipv6 -kerberos -minimal -odbc -overlays -slp" 3,668 kB

[ebuild   R   ] net-fs/samba-3.0.22  USE="acl cups ldap ldapsam pam python readline swat winbind xml -async -automount -doc -examples -kerberos -libclamav -mysql -oav -postgres -quotas -syslog" 0 kB

[ebuild   R   ] sys-libs/pam-0.78-r3  USE="berkdb -nis -pam_chroot -pam_console -pam_timestamp -pwdb" 0 kB

[ebuild   R   ] sys-fs/udev-087-r1  0 kB

[ebuild   R   ] sys-auth/nss_ldap-250-r1  USE="sasl -debug" 0 kB

Может у кого есть идеи как побороть беду? Или у кого нибудь стоит самба с лдапом и работает а дело в версиях?Last edited by ladserg on Fri Jul 28, 2006 12:57 pm; edited 1 time in total

----------

## ba

вместо compat ldap написать files ldap

----------

## ladserg

 *ba wrote:*   

> вместо compat ldap написать files ldap

 

Не помогает. 

А у кого нибудь работает LDAP авторизация?

----------

## ba

 *ladserg wrote:*   

> А у кого нибудь работает LDAP авторизация?

 

если ты имел ввиду аутентификацию, то у меня работает

----------

## ladserg

Ой, заработало.

У меня в /etc/nsswitch.conf был ещё вот такой кусок:

services:   ldap [NOTFOUND=return] files

networks:   ldap [NOTFOUND=return] files

protocols:  ldap [NOTFOUND=return] files

rpc:        ldap [NOTFOUND=return] files

ethers:     ldap [NOTFOUND=return] files

Видимо из-за него не работало  :Sad: .

ba:

Не поделишься опытов, в частности примером конфигов:

/etc/nsswitch.conf

/etc/pam.d/system-auth

/etc/ldap.conf

?

----------

## ba

```

baalberith ~ # cat /etc/nsswitch.conf

# /etc/nsswitch.conf:

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/nsswitch.conf,v 1.4 2002/11/18 19:39:22 azarah Exp $

passwd:      files ldap

shadow:      files ldap

group:       files ldap

hosts:       files dns

networks:    files dns

services:    db files

protocols:   db files

rpc:         db files

ethers:      db files

netmasks:    files

netgroup:    files

bootparams:  files

automount:   files

aliases:     files

baalberith ~ # cat /etc/pam.d/system-auth

#%PAM-1.0

auth       required     pam_env.so

auth       sufficient   pam_unix.so likeauth nullok nodelay

auth       sufficient   pam_ldap.so use_first_pass

auth       required     pam_deny.so

account    required     pam_unix.so

account    sufficient   pam_ldap.so

password   required     pam_cracklib.so retry=3

password   sufficient   pam_unix.so nullok md5 shadow use_authtok

password   sufficient   pam_ldap.so use_authtok

password   required     pam_deny.so

session    required     pam_limits.so

session    required     pam_unix.so

session    required     pam_mkhomedir.so skel=/etc/skel/ umask=077

session    optional     pam_ldap.so

baalberith ~ # cat /etc/ldap.conf | grep -v ^$ | grep -v ^#

suffix dc=mydomain

uri ldap://127.0.0.1/

ldap_version 3

binddn cn=anon,ou=Tech,dc=mydomain

bindpw der_parol

rootbinddn cn=admin,ou=Tech,dc=mydomain

scope sub

pam_filter objectClass=posixAccount

pam_login_attribute uid

pam_member_attribute memberUid

pam_password exop

nss_base_passwd ou=Users,dc=mydomain

nss_base_shadow ou=Users,dc=mydomain

nss_base_group  ou=Groups,dc=mydomain
```

----------

## ladserg

ba:

Спасибо. Оказывается если в nsswitch.conf хотя бы в одной из строк:

hosts:       files dns

networks:    files dns

services:    db files

protocols:   db files

добавить ldap, то udev грузиться не будет, даже более того, если к строке:

hosts:       files dns

добавить wins, то грузиться система тоже откажется, странно.

ba:

Не знаете как заставить систему создавать домашние каталоги для пользователей? Т.е. если я на сервере завёл пользователя, то при входе нового пользователя на клиентской машине создавался бы его каталог с указанным содержимым?

----------

## ba

 *ladserg wrote:*   

> Не знаете как заставить систему создавать домашние каталоги для пользователей? Т.е. если я на сервере завёл пользователя, то при входе нового пользователя на клиентской машине создавался бы его каталог с указанным содержимым?

 

собственно строчка 

```
session    required     pam_mkhomedir.so skel=/etc/skel/ umask=077
```

 это и делает...

----------

## ladserg

ba: Спасибо большое.

----------

