Поиск имени группы из Ldap GID - PullRequest
0 голосов
/ 15 марта 2012

У меня есть эта проблема, у меня есть пользователь, выбранный в LDAP посредством поиска ldap, давая только атрибут gid.

    $ldapattributes = array("gidnumber");
    $ldapdn = "o=example";
    $ldapfilter = "(sn=".$ldapuname."*)";
    $ldapbind = ldap_bind($ldapconn, $ldapuname, $ldappass) or trigger_error('Could not bind to '.$ldaphost);
    $sr = ldap_search($ldapconn,$ldapbasedn,$ldapfilter,$ldapattributes);
    var_dump($sr);
    $entry = ldap_get_entries($ldapconn, $sr);
    var_dump($entry);

результат, который я получаю из vardump:

'gidnumber' => массив 'count' => int 1 0 => строка '1617' (длина = 4)

Я знаю, что 1617 - это число, которое правильно отображается нагруппы, которую я хочу, но мне бы хотелось, чтобы текст, который приписан ему в другом месте, гласил, что это «ConfSer».Я не смог выяснить, где это находится, или как я могу превратить джид в другой фильтр, чтобы получить имя и информацию об этой конкретной группе (поэтому я могу направить его через файл конфигурации, который выплевывает разрешения).

РЕДАКТИРОВАТЬ: я получаю "CN = Ldaptst2 Majtst, O = пример", а также в результатах.Но на самом деле ни один из них не является группой ... просто полное имя.

1 Ответ

1 голос
/ 15 марта 2012

Построить поисковый фильтр, который будет возвращать все записи, имеющие objectClass posixGroup и желаемый gidNumber, например, (&(objectClass=posixGroup)(gidNumber=<insert-gid-number-here>)). Вы также должны предоставить список атрибутов для возврата в результате поиска. В зависимости от того, какой API используется вашим кодом, используя этот список атрибутов может по умолчанию для всех пользовательских атрибутов. Возвращен один из атрибутов будет относительным отличительным именем группы, а сам результат поиска будет содержать отличительное имя группы, которое может быть что-то вроде: cn=group-of-users,dc=example,dc=com.

В командной строке этот поиск может выглядеть примерно так:

ldapsearch -h hostname -p port -b dc=example,dc=com -s sub \
   '(&(objectClass=posixGroup)(gidNumber=<insert-gid-number-here>))' '*'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...