Группы LDAP не всегда отображаются, сервер Ubuntu 12.04

Сервер Ubuntu 12.04, AMD64, аутентификация через LDAP. У меня возникают проблемы с отображением групп LDAP в мою учетную запись пользователя при входе в систему, даже если "getent group" показывает правильный набор групп, назначенных моей учетной записи. Более запутанно, иногда это работает, а иногда нет.

Например, вот мой текущий логин:

$ ssh zoyd
$ id
uid=522(cswingley) gid=513(Domain Users) groups=513(Domain Users), \
4(adm),24(cdrom), 27(sudo),30(dip),46(plugdev),111(lpadmin), \
112(sambashare)

Но:

$ getent group | grep cswingley | sort -t : -n -k3 | \
  awk 'BEGIN {FS=":"} {printf("%s(%s)\n", $3, $1);}' | \
  xargs | sed 's/) /),/g'
4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),111(lpadmin), \
112(sambashare),500(level2),502(gis),503(level3), \
504(management_accounting),544(Administrators),606(abruser),\
619(proposal),621(project_managers),700(unixadmin),\
701(ntadmin),1000(cswingley)

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

Я полагаю, что это также происходит с моими пользователями Samba, что часто мешает им получать доступ к общим папкам или каталогам, ограниченным определенными группами Unix / Samba. Это также не позволяет мне присоединять компьютеры к моему домену, поскольку LDAP не назначает меня в группу с такими полномочиями (ntadmin).

Единственное, что я вижу в slapd журналы (в настоящее время установлено на loglevel 256Это выглядит подозрительно, но я не уверен, что это связано:

conn=8570 op=1 SRCH base="dc=abrinc,dc=com" scope=2 deref=0 \
  filter="(&(objectClass=posixAccount)(uid=cswingley))"
conn=8570 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
conn=8570 op=2 DISCONNECT tag=101 err=2 text=controls require LDAPv3
conn=8570 op=2 do_search: get_ctrls failed
conn=8570 fd=57 closed (operations error)

Вот список пакетов с именем "ldap", которые в настоящее время установлены на сервере:

$ sudo dpkg --list '*ldap*' | grep '^i' | \
  sed 's/^[^ ]* *\([^ ]* *[^ ]*\).*/\1/'
ldap-auth-client                 0.5.3
ldap-auth-config                 0.5.3
ldap-utils                       2.4.28-1.1ubuntu4
libldap-2.4-2                    2.4.28-1.1ubuntu4
libnet-ldap-perl                 1:0.4300-2ubuntu1
libnss-ldap                      264-2.2ubuntu2
libpam-ldap                      184-8.5ubuntu2
smbldap-tools                    0.9.7-1ubuntu1
sudo-ldap                        1.8.3p1-1ubuntu3.3

Обновление: я также попытался установить пакеты libnss-ldapd и libpam-ldapd (чтобы заменить выше не-d версии), но это также не решает проблему.

Изменить: это открытая ошибка для этой проблемы на трекере ошибок Ubuntu: https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/1023025

0 ответов

Другие вопросы по тегам