Работая с сервером Windows 2016, как мне запросить его корзину через LDAP? Корзина активна и, согласно центру администрирования AD, в настоящее время содержит два OU, которые я удалил вчера. ЧерезwellKnownObjects, AD указывает местоположение корзины как cn=Deleted Objects,dc=example,dc=com
.
Однако когда я запрашиваю это DN для objectClass=*
, ни одна запись не возвращается:
# extended LDIF
#
# LDAPv3
# base <CN=Deleted Objects,DC=example,DC=com> with scope subtree
# filter: (objectClass=*)
# requesting: ALL
#
# search result
search: 5
result: 32 No such object
matchedDN: CN=Deleted Objects,DC=example,DC=com
text: 0000208D: NameErr: DSID-03100241, problem 2001 (NO_OBJECT), data 0, best
match of:
'CN=Deleted Objects,DC=example,DC=com'
# numResponses: 1
Что на самом деле нужно серверу?
Редактировать: Если изучить вопрос немного глубже, то у MS, похоже, есть специальный элемент управления LDAP.LDAP_SERVER_SHOW_DELETED_OID
именно для этого случая использования. Однако мне не удалось сделать так, чтобы удаленные объекты отображались путем добавления -e 1.2.840.113556.1.4.417
к
ldapsearchпризывание.
решение1
Ответ в том, что AD применяет некий контроль доступа к мусорной корзине. При наличии тикета администратора это внезапно работает:
$ kinit [email protected]
$ ldapsearch -v -R EXAMPLE.COM \
-H ldap://windowsbox.example.com:389 \
-b 'CN=Deleted Objects,DC=example,DC=com' \
-E '!1.2.840.113556.1.4.417' \
-s sub \
'(objectClass=*)' \
distinguishedName
# Deleted Objects, example.com
dn: CN=Deleted Objects,DC=example,DC=com
distinguishedName: CN=Deleted Objects,DC=example,DC=com
…
# Comnisca
DEL:97f85a86-f326-4df1-b747-4bc9002b28c2, Deleted Objects, example.com
dn: CN=Comnisca\0ADEL:97f85a86-f326-4df1-b747-4bc9002b28c2,CN=Deleted Objects,
DC=example,DC=com
distinguishedName: CN=Comnisca\0ADEL:97f85a86-f326-4df1-b747-4bc9002b28c2,CN=D
eleted Objects,DC=example,DC=com
…
Кто бы мог подумать, что доступ к корзине для мусора есть только у пользователя root?
Привилегии, управляющие различными методами доступа к корзине, описаны в разделе «Делегирование операций с корзиной Active Directory» настоящего документа: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd392260%28v%3dws.10%29