libnss-ldapを設定すると、Linux起動時に以下のようなメッセージが出力されることがある。
udevd[]: nss_ldap: could not connect to any LDAP server as (null) - Can't contact LDAP server udevd[]: nss_ldap: failed to bind to LDAP server ldaps://LDAPSERVER.HERE: Can't contact LDAP server udevd[]: nss_ldap: could not connect to any LDAP server as (null) - Can't contact LDAP server udevd[]: nss_ldap: failed to bind to LDAP server ldaps://LDAPSERVER.HERE: Can't contact LDAP server udevd[]: nss_ldap: could not connect to any LDAP server as (null) - Can't contact LDAP server udevd[]: nss_ldap: failed to bind to LDAP server ldaps://LDAPSERVER.HERE: Can't contact LDAP server udevd[]: nss_ldap: reconnecting to LDAP server (sleeping 4 seconds)
これはLDAPサーバに接続しにいってるんだけど、NICが有効になっていないために接続できず、リトライを繰り返しているという状態。
で、そもそもなんで接続しにいってるかというと、/etc/udev/rules.d/91-permissions.rulesの記述に従ってユーザおよびグループを探すため。
通常LDAPを利用する場合、/etc/nsswitch.confでpasswdとgroupは以下のような感じになってると思う。
passwd: compat ldap group: compat ldap
で、udevがユーザやグループを捜しにまず/etc/passwdやら/etc/groupをみるんだけども、見つからなかったらldapに問い合わせにいくわけで、上記の問題が発生する。
ということで、/etc/passwdやら/etc/groupでそれらが見つかればいい。
ということで以下を打ち込めばOK。
addgroup --system nvram addgroup --system rdma addgroup --system fuse addgroup --system kvm addgroup --system scanner adduser --system --group --shell /usr/sbin/nologin --home /var/lib/tpm tss
ちなみにldapの方を先に参照するように設定していたりする場合は、udevdの起動よりも先にネットワークを起動しないとだめだろう。