Управление корзиной
В Эллес реализована частичная поддержка функциональности корзины.
| Включение функциональности корзины выполняется только на контроллерах домена Эллес с доступом к базе данных каталога на запись и чтение (RWDC). На контроллерах с доступом к базе данных только на чтение (RODC) выполнять данную операцию не требуется. |
Общие сведения
Функциональность корзины (Recycle Bin) в Active Directory позволяет восстанавливать удаленные объекты без потери данных. При удалении объекта он не удаляется физически из базы данных, а отмечается как подлежащий удалению. При этом объект перемещается в контейнер Deleted Objects со всеми атрибутами, связями, информацией о членствах в группах и метаданными, что позволяет администратору в течение определенного времени восстановить его в том состоянии, в котором он находился до удаления.
Объект в корзине хранится в течение определенного срока, который задается настраиваемым атрибутом. По истечении установленного срока хранения объект физически удаляется из базы данных каталога.
Особенности и ограничения
Реализация функциональности корзины имеет следующие особенности и ограничения:
-
по умолчанию корзина отключена;
-
для включения корзины требуется функциональный уровень леса Windows Server 2008 R2 или выше;
-
корзина может быть включена только для всего леса; включение на уровне отдельного домена в рамках леса невозможно;
-
для включения корзины домен должен владеть FSMO-ролью Domain Naming Master;
-
после включения корзины невозможно восстановить ранее удаленные объекты.
Атрибуты объекта
Для управления состоянием объекта в корзине используются следующие атрибуты:
-
isDeleted:-
существует у каждого объекта каталога;
-
признак того, что объект удален, но может быть восстановлен;
-
-
isRecycled:-
существует у каждого помещенного в корзину объекта;
-
признак того, что объект удален и не может быть восстановлен;
-
-
msDS-deletedObjectLifetime:-
устанавливается в контейнере
CN=Directory Service,CN=Windows NT, CN=Services, CN=Configuration, DC=domain,DC=name; -
задает период, в течение которого удаленный объект может быть восстановлен;
-
-
tombstoneLifetime:-
устанавливается в контейнере
CN=Directory Service,CN=Windows NT, CN=Services, CN=Configuration, DC=domain,DC=name; -
задает период, в течение которого удаленный объект не может быть восстановлен.
-
Стадии нахождения объекта в корзине
При перемещении объекта в корзину он проходит через следующие стадии (Рис. 1):
-
Объект находится в активном состоянии.
-
Администратор удаляет объект.
-
Объект перемещается в контейнер
Deleted Objects. -
Для объекта устанавливается признак
isDeleted. Практически все атрибуты объекта сохраняются.
На этом этапе объект удален логически и при необходимости может быть восстановлен администратором из корзины без потери данных.
В этом состоянии объект находится в течение периода, заданного атрибутомmsDS-deletedObjectLifetime. По умолчанию он равен периоду хранения объекта в корзине после утилизации (установки атрибутаisRecycled). -
Объект утилизируется. Для него устанавливается признак
isRecycled. Запись об объекте остается в базе данных, но практически все атрибуты удаляются.
На этом этапе объект не может быть восстановлен администратором.
В новом лесу по умолчанию период нахождения объекта в этом состоянии составляет 180 дней. -
Объект физически удаляется из корзины.
Предварительные условия
Включать корзину на контроллере домена Эллес (RWDC) необходимо в следующем случае:
-
Контроллер домена Эллес (RWDC) работает в гетерогенной среде, предусматривающей обмен данными с контроллерами домена Active Directory в процессе репликации.
-
На контроллерах домена Active Directory включена функциональность корзины.
В противном случае объекты, помещаемые в корзину на контроллерах домена Active Directory, в результате репликации данных на контроллеры домена Эллес будут помечаться как полностью удаленные.
Последовательность действий
Для включения корзины на контроллере домена Эллес (RWDC) с помощью утилиты samba-tool используется подкоманда recyclebin enable.
Последовательность действий для включения корзины:
-
при включении корзины на существующем контроллере домена Эллес (RWDC):
-
Остановить контроллер домена.
-
Выполнить подкоманду
samba-tool recyclebin enable. -
Запустить контроллер и дождаться завершения цикла репликации.
-
-
при вводе в домен нового контроллера Эллес (RWDC):
-
Использовать при присоединении к домену с помощью подкоманды
samba-tool domain joinопцию--domain-critical-only. -
Выполнить подкоманду
samba-tool recyclebin enable. -
Запустить контроллер и дождаться завершения цикла репликации.
-
Операции
Для управления функциональностью корзины с помощью утилиты samba-tool используется подкоманда recyclebin.
Просмотр состояния функциональности корзины
Формат вызова
Общий формат вызова:
samba-tool recyclebin status [options]
Подкоманда возвращает информацию о статусе функциональности корзины:
-
enabled— функциональность корзины включена; -
disabled— функциональность корзины отключена.
Включение функциональности корзины
| Включение функциональности корзины выполняется только на контроллерах домена с доступом к базе данных каталога на запись и чтение (RWDC). На контроллерах с доступом к базе данных только на чтение (RODC) выполнять данную операцию не требуется. |
Формат вызова
Общий формат вызова:
samba-tool recyclebin enable [options]
Подкоманда включает корзину локально, на одном контроллере домена. При совместной работе с контроллерами домена Active Directory с включенной функциональностью корзины она должна быть выполнена на всех контроллерах домена Эллес (RWDC) в лесу.
Подкоманда выполняется один раз — отключить корзину после этого невозможно.
По умолчанию используется интерактивный режим, предусматривающий запрос подтверждения от пользователя. Для принудительного включения корзины без дополнительных проверок и запроса подтверждения используйте ключ -f|--force.
| Для запуска подкоманды требуются права суперпользователя (root/sudo). |
Просмотр содержимого корзины
Формат вызова
Общий формат вызова:
samba-tool recyclebin list [options]
Подкоманда выводит список находящихся к корзине объектов.
Для ограничения списка объектов при вызове подкоманды в ключе -e|--expression может использоваться выражение для поиска в БД LDAP.
По умолчанию при вызове подкоманды отображается следующая информация:
-
количество объектов, находящихся в корзине (контейнер
CN=Deleted Objects,DC=domain,DC=name) или соответствующих заданному LDAP-фильтру; -
записи об удаленных объектах в формате:
dn: 'CN=<object-cn>\0ADEL:<ObjectGUID>,CN=Deleted Objects,DC=domain,DC=name'
Для отображения всего доступного набора атрибутов удаленного объекта при вызове подкоманды необходимо передать ключ -a|--print-all.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта; -
-e|--expression— выражение для поиска в БД LDAP; -
-a|--print-all— вывод всех доступных атрибутов удаленного объекта.
Примеры
Пример отображения содержимого корзины:
samba-tool recyclebin list Deleted objects count: 6 # record 1 dn: 'CN=object1\0ADEL:2fdb1731-e022-43a2-b9fc-2a14bcb62e8d,CN=Deleted Objects,DC=domain,DC=name' # record 2 dn: 'CN=object2\0ADEL:46991241-293e-49ce-ad9e-209ab0ca2aa3,CN=Deleted Objects,DC=domain,DC=name' # record 3 dn: 'CN=object3\0ADEL:fda13375-5027-4870-b05a-090f5000437b,CN=Deleted Objects,DC=domain,DC=name' # record 4 dn: 'CN=object4\0ADEL:0c947ae6-fae0-4e33-92bc-7e016a2bff8,CN=Deleted Objects,DC=domain,DC=name' # record 5 dn: 'CN=object5\0ADEL:23e9be91-3f95-460d-88bf-11ba0478f818,CN=Deleted Objects,DC=domain,DC=name' # record 6 dn: 'CN=object6\0ADEL:45e9499e-d896-481f-9706-7051667a29a3,CN=Deleted Objects,DC=domain,DC=name'
Пример использования LDAP-фильтра для поиска в корзине удаленных объектов определенного класса с выводом всех доступных атрибутов:
samba-tool recyclebin list \ --expression "(&(objectClass=user))" \ --print-all Deleted objects count: 1 # record 1 dn: 'CN=user1\0ADEL:46991241-293e-49ce-ad9e-209ab0ca2aa3,CN=Deleted Objects,DC=domain,DC=name' objectClass: 'top' objectClass: 'person' objectClass: 'organizationalPerson' objectClass: 'user' instanceType: '4' whenCreated: '20240917181459.0Z' uSNCreated: '15867' objectGUID: '46991241-293e-49ce-ad9e-209ab0ca2aa3' badPwdCount: '0' codePage: '0' countryCode: '0' badPasswordTime: '0' lastLogoff: '0' lastLogon: '0' primaryGroupID: '513' objectSid: 'S-1-5-21-1159061634-2679507100-403793082-2179' accountExpires: '9223372036854775807' logonCount: '0' sAMAccountName: 'user1' userPrincipalName: 'user1@domain.name' pwdLastSet: '133710704992933030' userAccountControl: '512' isDeleted: 'TRUE' lastKnownParent: 'CN=Users,DC=domain,DC=name' msDS-LastKnownRDN: 'user1' cn: 'user1' DEL:46991241-293e-49ce-ad9e-209ab0ca2aa3' name: 'user1' DEL:46991241-293e-49ce-ad9e-209ab0ca2aa3' whenChanged: '20240917181510.0Z' uSNChanged: '15870' distinguishedName: 'CN=user1\0ADEL:46991241-293e-49ce-ad9e-209ab0ca2aa3,CN=Deleted Objects,DC=domain,DC=name'