Администрирование схемы данных каталога
Для администрирования схемы данных каталога (раздел schema) в домене Samba AD с помощью утилиты samba-tool используется группа подкоманд schema.
|
При выполнении операций с помощью группы подкоманд В этом случае для успешного выполнения подкоманды:
|
Классы объектов и атрибуты
Каждый объект в службе каталогов является экземпляром класса, для которого задается определение в схеме Active Directory. Класс объединяет в себе объекты с общими свойствами (например, пользователи, принтеры, приложения). Определение каждого класса содержит список атрибутов, которые могут использоваться для описания экземпляров данного класса. Например, класс User имеет атрибуты givenName, surname и streetAddress. Атрибуты класса делятся на обязательные и дополнительные. Поскольку каталог имеет иерархическую структуру, определение каждого класса также содержит список классов, описывающих объекты, которые являются родительскими по отношению к объектам данного класса.
Схема содержит определение для каждого атрибута, состоящее из уникальных идентификаторов атрибута, синтаксиса для его описания (типы данных для значений атрибута), допустимых диапазонов изменения значений атрибута, признака возможности задания только одного значения или нескольких значений для атрибута, а также правил поиска и индексирования атрибута. Для каждого атрибута в схеме существует строго одно определение, на которое ссылаются определения классов объектов.
Вносимые в схему изменения носят глобальный характер. Схема является единой для всего леса. С помощью механизмов репликации обеспечивается наличие копии схемы на каждом контроллере домена в лесу. Любое расширение схемы распространяется на весь лес.
Вносимые в схему дополнения являются необратимыми. Добавленный в схему новый класс или атрибут не может быть из нее удален. Существующий атрибут или класс может быть переведен в неактивное состояние, но удалить его невозможно.
Перевод класса или атрибута в неактивное состояние не влияет на существующие экземпляры данного класс или атрибута, но при этом делает невозможным создание новых экземпляров. Атрибут не может быть переведен в неактивное состояние, если он используется хотя бы в одном активном классе.
Получение определения класса объектов
Для запроса определения класса объектов (objectClass) в разделе schema каталога используется следующий формат вызова:
samba-tool schema objectclass show <objectclass>
В качестве значения objectclass ожидается имя класса объектов схемы Active Directory.
Подкоманда выводит подробную информацию об указанном классе объектов в соответствии с его определением в схеме, включая:
-
классы, которые могут содержать в себе данный класс (
PossiSuperiors); -
обязательные атрибуты экземпляра класса (
MustContain); -
необязательные атрибуты экземпляра класса (
MayContain).
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.
Примеры
Пример запроса определения класса person:
samba-tool schema objectclass show person dn: CN=Person,CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com objectClass: top objectClass: classSchema cn: Person instanceType: 4 whenCreated: 20230911100703.0Z whenChanged: 20230911100703.0Z uSNCreated: 1567 subClassOf: top governsID: 2.5.6.6 mayContain: attributeCertificateAttribute rDNAttID: cn showInAdvancedViewOnly: TRUE adminDisplayName: Person adminDescription: Person objectClassCategory: 0 lDAPDisplayName: person name: Person objectGUID: 5fef599f-5f08-4846-bb5e-e0a32eb27767 schemaIDGUID: bf967aa7-0de6-11d0-a285-00aa003049e2 systemOnly: FALSE systemPossiSuperors: organizationalUnit systemPossSuperiors: container systemMayContain: userPassword systemMayContain: telephoneNumber systemMayContain: sn systemMayContain: serialNumber systemMayContain: seeAlso systemMustContain: cn defaultSecurityDescriptor: D:(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;DA)(A;;RPWPCRCCDCLCLORCWOWDSDDTSW;;;SY)(A;;RPLCLORC;;;AU) systemFlags: 16 defaultHidingValue: TRUE objectCategory: CN=Class-Schema,CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com defaultObjectCategory: CN=Person,CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com uSNChanged: 1568 distinguishedName: CN=Person,CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com
Получение списка классов объектов, ссылающихся на атрибут
Для получения списка классов объектов (objectClass), которые могут или должны содержать определенный атрибут, используется следующий формат вызова:
samba-tool schema attribute show_oc <attribute> [options]
В качестве значения attribute ожидается LDAP-имя атрибута в схеме Active Directory.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.
Примеры
Пример запроса списка классов объектов, экземпляры которых могут или должны содержать атрибут telephoneNumber:
samba-tool schema attribute show_oc telephoneNumber --- MAY contain --- documentSeries Organization room Organizational-Unit Mail-Recipient Organizational-Role rFC822LocalPart Person --- MUST contain ---
Получение определения атрибута
Для запроса определения атрибута (attribute) в разделе schema каталога используется следующий формат вызова:
samba-tool schema attribute show <attribute> [options]
В качестве значения attribute ожидается LDAP-имя атрибута в схеме Active Directory.
Подкоманда выводит подробную информацию об указанном атрибуте в соответствии с его определением в схеме.
Параметры
Параметры вызова:
-
-H URL|--URL=URL— URL сервера LDAP; может содержать указание на протокол, имя хоста и номер порта.
Примеры
Пример запроса определения атрибута telephoneNumber:
samba-tool schema attribute show telephoneNumber dn: CN=Telephone-Number,CN=Schema,CN=Configuration,DC=homenet,DC=com objectClass: top objectClass: attributeSchema cn: Telephone-Number instanceType: 4 whenCreated: 20230911100701.0Z whenChanged: 20230911100701.0Z uSNCreated: 1436 attributeID: 2.5.4.20 attributeSyntax: 2.5.5.12 isSingleValued: TRUE rangeLower: 1 rangeUpper: 64 mAPIID: 14856 uSNChanged: 1436 showInAdvancedViewOnly: TRUE adminDisplayName: Telephone-Number adminDescription: Telephone-Number oMSyntax: 64 searchFlags: 0 lDAPDisplayName: telephoneNumber name: Telephone-Number objectGUID: 9cacbcd9-1a46-4a32-b251-22429d8e46d1 schemaIDGUID: bf967a49-0de6-11d0-a285-00aa003049e2 attributeSecurityGUID: 77b5b886-944a-11d1-aebd-0000f80367c1 systemOnly: FALSE systemFlags: 16 isMemberOfPartialAttributeSet: TRUE objectCategory: CN=Attribute-Schema,CN=Schema,CN=Configuration,DC=homenet,DC=c om distinguishedName: CN=Telephone-Number,CN=Schema,CN=Configuration,DC=homenet,D C=com
Изменение правил поиска и индексации для атрибута
Для изменения правил поиска и индексации атрибута в разделе schema каталога используется следующий формат вызова:
samba-tool schema attribute modify <attribute> [options]
В качестве значения attribute ожидается LDAP-имя атрибута в схеме Active Directory.
Подкоманда переопределяет значения флагов searchFlags, задающих правила поиска и индексации для атрибута схемы.
Значения флагов передаются в параметре --searchflags.
Наиболее значимые флаги:
-
fATTINDEX— указание для контроллера домена на необходимость индексирования атрибута; -
fPDNTATTINDEX— указание для контроллера домена на необходимость индексирования атрибута и содержащего его контейнера; -
fANR— признак включения атрибута в поиск с помощью алгоритма ANR (Ambiguous Name Resolution); -
fPRESERVEONDELETE— признак сохранения атрибута при установке на объект отметки об удалении; -
fCOPY— указание клиентам LDAP на необходимость копирования атрибута при создании копии объекта; -
fTUPLEINDEX— указание для контроллера домена на необходимость создания кортежного индекса для данного атрибута (влияет на скорость поиска по подстроке); -
fSUBTREEATTINDEX— указание для контроллера домена на необходимость индексирования атрибута в рамках операций поиска Virtual List View (VLV); -
fCONFIDENTIAL— признак того, что атрибут относится к конфиденциальной информации и для доступа к нему требуется пройти дополнительные проверки; -
fNEVERVALUEAUDIT— признак отсутствия необходимости аудита изменений, вносимых в атрибут; -
fRODCFILTEREDATTRIBUTE— признак того, что атрибут не должен реплицироваться на контроллеры домена с ролью RODC; -
fEXTENDEDLINKTRACKING— указание контроллеру домена на необходимость контроля связанных атрибутов; -
fBASEONLY— признак того, что атрибут не должен возвращаться поисковыми запросами, область действия которых не ограничена одним объектом; -
fPARTITIONSECRET— признак того, что атрибут относится к секретам и для доступа к нему требуется пройти дополнительные проверки.