Description of problem: I use OpenLDAP to authenticate my user on my system. In FC4 i have no problem. My problem is with udev when my computer boot. When i have in my /etc/nsswitch.conf : "passwd/shadow/group: files ldap" udev wait for connect to LDAP. But OpenLDAP start after many other thing that udev. When i set in /etc/nsswitch.conf : "passwd/shadow/group: files" I don't have to wait but i lose my authentication of my users. Version-Release number of selected component (if applicable): udev-084-13 openldap-2.3.19-4 How reproducible: Setup authentication of users and groups in OpenLDAP on the same machine. My configuration is set in pam, ldap.conf, nsswitch.conf. Steps to Reproduce: 1. 2. 3. Actual results: Very long timeout on boot (waiting 5, 10, 20, 40, 80...) Expected results: start udev without check the connection with ldap. Additional info: Excuse for my english, i am french.
Do you have any users, groups in your rules files, which are not in passwd/group?? $ for i in $(perl -n -e 'if (/GROUP="([^"]*)"/) { print "$1\n"; };' /etc/udev/rules.d/*.rules|sort -u);do grep -q $i /etc/group || echo $i;done $ for i in $(perl -n -e 'if (/OWNER="([^"]*)"/) { print "$1\n"; };' /etc/udev/rules.d/*.rules|sort -u);do grep -q $i /etc/passwd || echo $i;done
I have do many test with your answer. When i have execute yours command, i have found one user and group (asterisk) who need to be in the /etc/{passwd,group}. I use asterisk in CVS and i don't known why, but this version create a file in the directory /etc/udev/rules.d/ who need the user asterisk. The problem is now solve for udev. I have a small question: udev is the first thing that start on the system. There are not network or other daemon on the csystem. Why udev use all possibility (nsswitch) to find all user in the *.rules ? Is it not possible to restric the search to /etc/passwd only ? An another thing to finish: udev the problem is solve, now i need to open another bug report for named who have the same probleme: named don't start if i have "files ldap" in the /etc/nsswitch.conf and start if "ldap" is not present. ;(( Very thank to you for your help.
> Why udev use all possibility (nsswitch) to find all user in the *.rules ? This is standard glibc behaviour, which cannot/should not be changed. > Is it not possible to restric the search to /etc/passwd only ? I would love to do this for start_udev, but what if the users are in a DB?
This may help: /etc/nsswitch.conf: passwd: files ldap [UNAVAIL=return] group: files ldap [UNAVAIL=return]