28.01.2009 г.
sudo aptitude -r install ldap-utils libsasl2-modules-ldap libsasl2-modules-gssapi-mit krb5-user krb5-config
[logging] default = FILE:/var/log/kerberos/krb5libs.log kdc = FILE:/var/log/kerberos/krb5kdc.log admin_server = FILE:/var/log/kerberos/kadmind.log [libdefaults] default_realm = DOMAIN.RU dns_lookup_realm = false dns_lookup_kdc = false [realms] DOMAIN.RU = { kdc = server.domain.ru:88 admin_server = server.domain.ru:749 default_domain = domain.ru } [domain_realm] .domain.ru = DOMAIN.RU domain.ru = DOMAIN.RU
ldapwhoami -h server.domain.ru
скорее всего, Вы увидите что-то в виде:
SASL/GSSAPI authentication started ldap_sasl_interactive_bind_s: Local error (-2)
Это от того, что Вы не аутентифицировались на сервере AD. Проверить это можно так:
klist klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_1000)
kinit aduser
Где aduser - реальная учётная запись в домене AD.
ldapwhoami -h server.domain.ru
на этот раз Вы увидите что-то в виде:
SASL/GSSAPI authentication started SASL username: aduser@domain.ru SASL SSF: 56 SASL data security layer installed. ldap_parse_result: Decoding error (-4) Result: Decoding error (-4)
А klist покажет, примерно, следующее:
Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: aduser@domain.ru Valid starting Expires Service principal 01/20/09 15:57:55 01/20/09 23:56:58 krbtgt/DOMAIN.RU@DOMAIN.RU renew until 01/20/09 23:57:55 01/20/09 15:57:05 01/20/09 23:56:58 ldap/server.DOMAIN.RU@DOMAIN.RU renew until 01/20/09 23:57:05 Kerberos 4 ticket cache: /tmp/tkt1000 klist: You have no tickets cached
Дальше - дело Вашей фантазии и необходимости. Но для примера:
ldapsearch -h server.domain.ru -b "cn=Builtin,dc=domain,dc=ru" -s sub "CN=Administrators" sAMAccountName description
получаем что-то в виде
SASL/GSSAPI authentication started SASL username: aduser@DOMAIN.RU SASL SSF: 56 SASL data security layer installed. # extended LDIF # # LDAPv3 # base with scope subtree # filter: CN=Administrators # requesting: sAMAccountName description # # Administrators, Builtin, mdi.ru dn: CN=Administrators,CN=Builtin,DC=domain,DC=ru description: Administrators have complete and unrestricted access to the computer/domain sAMAccountName: Administrators # search result search: 5 result: 0 Success # numResponses: 2 # numEntries: 1
ldapsearch -h server.domain.ru -b "cn=Users,dc=domain,dc=ru" -s sub "CN=Domain Admins" member
получаем, примерно, следующее:
... member:: Q0490J/Rg9C/0LrQuNC9INCY0LLQsNC9INCS0LDRgdC40LvRjNC10LLQuNGHLE9VPdCe0YLQtNC1 0LssT1U90JTQtdC/0LDRgNGC0LDQvNC10L3RgixPVT3QpNC40YDQvNCwLERDPWRvbWFpbixEQz1y dQo= ...
"Что за белиберда?" - спросите Вы. Ан нет, не белиберда, а base64. Если всю строчку (без "member:: ")пропустить через base64 -d, мы увидим что именно в ней содержится:
echo Q0490J/Rg9C/0LrQuNC9INCY0LLQsNC9INCS0LDRgdC40LvRjNC10LLQuNGHLE9VPdCe0YLQtNC1\ 0LssT1U90JTQtdC/0LDRgNGC0LDQvNC10L3RgixPVT3QpNC40YDQvNCwLERDPWRvbWFpbixEQz1y\ dQo= | base64 -d
получаем:
CN=Пупкин Иван Васильевич,OU=Отдел,OU=Департамент,OU=Фирма,DC=domain,DC=ru
Вот, в общем-то, и всё, что у меня есть сообщить. Дальше сами. :)