Атрибуты безопасности пользователей
Помимо свойств именования для пользовательских объектов, например objectGUID, objectSid, cn, различающеесяимя_имени и т. д., существуют другие свойства безопасности, используемые для входа, доступа к сети и управления доступом. Эти свойства используются системой безопасности Windows и могут просматриваться и управляться оснастки пользователей и компьютеров Active Directory.
accountExpires
Атрибут accountExpires указывает, когда истекает срок действия учетной записи. Это значение хранится в виде большого целого числа, представляющего число интервалов 100-nanosecond с 1 января 1601 г. (UTC). Значение TIMEQ_FOREVER (определенное в Lmaccess.h) указывает, что учетная запись никогда не истекает.
altSecurityIdentities
Атрибут altSecurityIdentities — это многозначный атрибут, содержащий сопоставления сертификатов X.509 или внешних учетных записей пользователей Kerberos с этим пользователем для проверки подлинности. Различные пакеты безопасности, включая пакет проверки подлинности с открытым ключом и Kerberos, используют эти данные для проверки подлинности пользователей, когда они представляют альтернативную форму идентификации, например сертификат, билет UNIX Kerberos и т. д. Создайте токен Windows 2000 на основе соответствующей учетной записи пользователя, чтобы получить доступ к системным ресурсам.
Для сертификатов X.509 значения должны быть имена издателя и субъекта в сертификатах 509v3, выданных внешним общедоступным центром сертификации, которые сопоставляются с учетной записью пользователя, используемой для поиска учетной записи для проверки подлинности. Пакет SSL (Schannel) использует следующий синтаксис: X509:<somecertinfotype>somecertinfoinfo. Например, следующее значение указывает DN издателя "<I>" с DN "C=US,O=InternetCA,CN=APublicCertificateAuthority" и субъект DN "<S>" с DN "C=US,O=Fabrikam,OU=Sales,CN=Jeff Smith".
X509:<I>C=US,O=InternetCA,CN=APublicCertificateAuthority<S>C=US,O=Fabrikam,OU=Sales,CN=Jeff Smith
Помните, что поддерживаются "<S>" или "<I>" и "<S>". Наличие только "<я>" не поддерживается. Приложения не должны изменять значения внутри "<I>" или "<S>", так как частичное сопоставление DN не поддерживается.
Для внешних учетных записей Kerberos значения должны быть именем учетной записи Kerberos. Пакет Kerberos использует следующий синтаксис: Kerberos:MITaccountname
. Например, ниже приведено значение для учетной записи в Fabrikam.com
:
Kerberos:Jeff.Smith@Fabrikam.com
badPasswordTime
Нереплицированные. Атрибут badPasswordTime указывает время последнего входа пользователя в учетную запись с использованием неправильного пароля. Это значение хранится в виде большого целого числа, представляющего число интервалов 100-nanosecond с 1 января 1601 г. (UTC). Этот атрибут поддерживается отдельно на каждом контроллере домена в домене. Значение нуля означает, что последнее неправильное время пароля неизвестно. Чтобы получить точное значение последнего неправильного пароля пользователя в домене, необходимо запросить каждый контроллер домена в домене, а наибольшее значение следует использовать.
badPwdCount
Нереплицированные. Атрибут badPwdCount указывает количество попыток входа пользователя в учетную запись с использованием неправильного пароля. Этот атрибут поддерживается отдельно на каждом контроллере домена в домене. Значение 0
указывает, что значение неизвестно. Чтобы получить точное значение для общих неудачных попыток пароля пользователя в домене, каждый контроллер домена в домене должен запрашиваться, а сумма значений должна использоваться.
codePage
АтрибутcodePageуказывает кодовую страницу выбранного пользователя языка. Это значение не используется Windows.
countryCode
АтрибутcountryCodeуказывает код страны или региона для языка пользователя. Это значение не используется Windows.
homeDirectory
Атрибут homeDirectory указывает путь к домашнему каталогу для пользователя. Строка может иметь значение NULL.
Если homeDrive задан и задает букву диска, homeDirectory должен быть UNC-путь. Путь должен быть сетевым UNC-путем формы \\server\share\directory. Это значение может быть пустой строкой.
Если homeDrive не задано, homeDirectory должен быть локальным путем, например C:\mylocaldir.
homeDrive
Атрибут homeDrive указывает букву диска, с которой сопоставляется UNC-путь, указанный homeDirectory
. Буква диска должна быть указана в следующей форме:
<drive letter>:
где "<буква диска>" — это буква диска для сопоставления. Например:
Z:
Если этот атрибут не задан, homeDirectory должен быть локальным путем, например C:\mylocaldir.
lastLogoff
Нереплицированные. Атрибут lastLogoff указывает время последнего выхода. Это значение хранится в виде большого целого числа, представляющего число интервалов 100-nanosecond с 1 января 1601 г. (UTC). Высокая часть этого большого целого числа соответствует элементу dwHighDateTime
структуры FILETIME и низкой части соответствует элементу dwLowDateTime
структуры FILETIME
. Этот атрибут поддерживается отдельно на каждом контроллере домена в домене. Значение нуля означает, что последнее время выхода неизвестно. Чтобы получить точное значение последнего выхода пользователя в домене, каждый контроллер домена в домене должен запрашиваться, и следует использовать наибольшее значение.
lastLogon
Нереплицированные. Атрибут lastLogon указывает, когда произошел последний вход. Это значение хранится в виде большого целого числа, представляющего число интервалов 100-nanosecond с 1 января 1601 г. (UTC). Высокая часть этого большого целого числа соответствует элементу dwHighDateTime
структуры FILETIME и низкой части соответствует элементу dwLowDateTime
структуры FILETIME
. Этот атрибут поддерживается отдельно на каждом контроллере домена в домене. Значение нуля означает, что последнее время входа неизвестно. Чтобы получить точное значение последнего входа пользователя в домен, необходимо запросить каждый контроллер домена в домене и использовать наибольшее значение.
lmPwdHistory
Атрибут lmPwdHistory — это журнал паролей пользователя в одностороннем формате (OWF). OWF LM используется для совместимости с клиентами LAN Manager 2.x, Windows 95 и Windows 98. Этот атрибут используется только операционной системой. Помните, что вы не можете наследить пароль обычного текста из формы OWF пароля.
вход в систему
Нереплицированные. Атрибут logonCount подсчитывает количество успешных попыток входа пользователя в эту учетную запись. Этот атрибут поддерживается на каждом контроллере домена в домене. Значение 0
указывает, что значение неизвестно. Чтобы получить точное значение для общего количества успешных попыток входа пользователя в домен, каждый контроллер домена в домене должен запрашиваться, а сумма значений должна использоваться.
почта
Атрибут почты — это однозначный атрибут, содержащий SMTP-адрес пользователя, например jeff@Fabrikam.com
.
maxStorage
Атрибут maxStorage указывает максимальное количество дискового пространства, которое может использовать пользователь. Используйте значение USER_MAXSTORAGE_UNLIMITED (определенное в Lmaccess.h), чтобы использовать все доступное место на диске.
memberOf
Атрибут memberOf является многозначным атрибутом, который содержит группы, из которых пользователь является прямым членом, за исключением основной группы, которая представлена primaryGroupId. Членство в группах зависит от контроллера домена (DC), из которого извлекается этот атрибут:
- В контроллере домена для домена, содержащего пользователя, членOf для пользователя полностью соответствует членству в группах в этом домене; однако
memberOf
не содержит членство пользователя в локальных и глобальных группах домена в других доменах. - На сервере GC членOf для пользователя полностью соответствует всем членам универсальной группы.
Если оба условия верны для контроллера домена, оба набора данных содержатся в элементе memberOf.
Помните, что этот атрибут содержит группы, содержащие пользователя в атрибуте-члене, не содержат рекурсивный список вложенных предшественников. Например, если пользователь O является членом группы C и группы B и группы B, вложенными в группу A, атрибут memberOf пользователя O будет перечислять группу C и группу B, но не группу A.
Этот атрибут не хранится— это вычисляемый атрибут обратной связи.
ntPwdHistory
Атрибут ntPwdHistory — это журнал паролей пользователя в одностороннем формате Windows NT (OWF). Windows использует Windows NT OWF. Этот атрибут используется только операционной системой. Помните, что вы не можете наследить пароль обычного текста из формы OWF пароля.
otherMailbox
Атрибут otherMailbox является многозначным атрибутом, который содержит другие дополнительные почтовые адреса в форме, например CCMAIL: JeffSmith
.
PasswordExpirationDate
Дата окончания срока действия пароля не является атрибутом объекта пользователя. Это вычисляемое значение на основе суммы pwdLastSet для пользователя и maxPwdAge домена пользователя. Чтобы получить дату истечения срока действия пароля, получите свойство IADsUser.PasswordExpirationDate. Нельзя изменить этот атрибут для пользователя; Вместо этого задайте свойство IADsDomain.MaxPasswordAge, чтобы изменить параметр для домена.
primaryGroupId
Атрибут primaryGroupId является однозначным атрибутом, который содержит первичной группыToken группы, которая является основной группой объекта. Основная группа объекта не включена в атрибут memberOf. Например, по умолчанию основная группа объекта пользователя является primaryGroupToken
группы "Пользователи домена", но группа "Пользователи домена" не является частью атрибута memberOf
объекта пользователя.
profilePath
Атрибут profilePath указывает путь к профилю пользователя. Это значение может быть пустой строкой, локальным абсолютным путем или UNC-пути.
pwdLastSet
АтрибутpwdLastSet указывает время последнего изменения пароля. Это значение хранится в виде большого целого числа, представляющего число интервалов 100-nanosecond с 1 января 1601 г. (UTC).
Система использует значение этого атрибута и атрибут maxPwdAgeдомена, содержащего объект пользователя для вычисления даты истечения срока действия пароля. То есть сумма pwdLastSet для пользователя и maxPwdAge
домена пользователя.
Этот атрибут определяет, должен ли пользователь изменить пароль при следующем входе пользователя. Если pwdLastSet равно нулю, по умолчанию пользователь должен изменить пароль при следующем входе. Значение -1
указывает, что пользователю не требуется изменить пароль при следующем входе. Система задает это значение -1
после того, как пользователь задал пароль.
sAMAccountType
Атрибут sAMAccountType указывает целое число, представляющее тип учетной записи. Это устанавливается операционной системой при создании объекта.
scriptPath
Атрибут scriptPath указывает путь к скрипту входа пользователя, .cmd, .exeили файлу .bat. Строка может иметь значение NULL.
tokenGroups
Атрибут tokenGroups является многозначным атрибутом, который содержит идентификатор безопасности всех групп, в которых пользователь является прямым и косвенным членом, включая основную группу. Этот атрибут можно извлечь только в том случае, если сервер глобального каталога (GC) присутствует для получения транзитивного обратного членства.
Помните, что этот атрибут содержит группы, содержащие пользователя в атрибуте члена, а также группы, содержащие эти группы в атрибуте-члене, и т. д. Например, если пользователь O является членом группы C и группы B и группы B, вложенными в группу A, атрибут tokenGroups пользователя O будет перечислять группу C, группу B и группу A.
Атрибут tokenGroups является полезным атрибутом для получения списка членства в группах только в двух запросах LDAP: первый, чтобы получить список идентификаторов групп из атрибута tokenGroups пользователя, второй с помощью этого списка идентификаторов безопасности для получения атрибута имени каждой группы. Это позволяет избежать необходимости выполнять несколько поисковых запросов для расширения атрибута primaryGroupId и рекурсивного расширения атрибута memberOf.
ЮникодPwd
Атрибут юникодPwd — это пароль пользователя.
Чтобы задать пароль пользователя, используйте метод IADsUser.ChangePassword, если ваш скрипт или приложение позволяет пользователю изменить свой пароль или метод IADsUser.SetPassword, если ваш скрипт или приложение позволяет администратору сбрасывать пароль.
Пароль пользователя в одностороннем формате Windows NT (OWF). Windows использует Windows NT OWF. Этот атрибут используется только операционной системой. Помните, что вы не можете наследить пароль обычного текста из формы OWF пароля.
userAccountControl
Атрибут userAccountControl указывает флаги, управляющие паролем, блокировкой, отключением и включением, скриптом и поведением домашнего каталога для пользователя. Этот атрибут также содержит флаг, указывающий тип учетной записи объекта. Обычно объект пользователя имеет набор UF_NORMAL_ACCOUNT.
Следующие флаги определены в Lmaccess.h.
Флаг | Описание |
---|---|
UF_SCRIPT | Исполняемый скрипт входа. Это значение должно быть задано для LAN Manager 2.0 или Windows NT. |
UF_ACCOUNTDISABLE | Учетная запись пользователя отключена. |
UF_HOMEDIR_REQUIRED | Требуется домашний каталог. Это значение игнорируется в Windows NT и Windows 2000. |
UF_PASSWD_NOTREQD | Пароль не требуется. |
UF_PASSWD_CANT_CHANGE | Пользователь не может изменить пароль. |
UF_LOCKOUT | В настоящее время учетная запись заблокирована. Это значение можно очистить, чтобы разблокировать ранее заблокированную учетную запись. Это значение нельзя использовать для блокировки ранее заблокированной учетной записи. |
UF_DONT_EXPIRE_PASSWD | Представляет пароль, срок действия которого не должен истекать в учетной записи. |
Следующие флаги описывают тип учетной записи. Можно задать только одно значение. Нельзя изменить тип учетной записи.
Флаг | Описание |
---|---|
UF_NORMAL_ACCOUNT | Это тип учетной записи по умолчанию, представляющий типичного пользователя. |
UF_TEMP_DUPLICATE_ACCOUNT | Это учетная запись для пользователей, основная учетная запись которых находится в другом домене. Эта учетная запись предоставляет пользователю доступ к этому домену, но не к любому домену, который доверяет этому домену. Диспетчер пользователей ссылается на этот тип учетной записи как локальную учетную запись пользователя. |
UF_WORKSTATION_TRUST_ACCOUNT | Это учетная запись компьютера для рабочей станции Windows NT или Windows 2000 профессиональный или Windows NT Server или Windows 2000 Server, являющегося членом этого домена. |
UF_SERVER_TRUST_ACCOUNT | Это учетная запись компьютера для контроллера домена резервного копирования Windows NT, являющегося членом этого домена. |
UF_INTERDOMAIN_TRUST_ACCOUNT | Это разрешение на доверие учетной записи для домена Windows NT, который доверяет другим доменам. |
userCertificate
Атрибут userCertificate является многозначным атрибутом, содержащим сертификаты x509v3, выданные пользователю. Помните, что этот атрибут содержит сертификаты открытого ключа, выданные этому пользователю службой сертификатов Майкрософт.
userSharedFolder
Атрибут userSharedFolder указывает UNC-путь к общей папке документов пользователя. Путь должен быть сетевым UNC-путем формы \\server\share\directory. Это значение может быть пустой строкой.
userWorkstations
Атрибут userWorkstations — это однозначный атрибут, содержащий имена рабочих станций NetBIOS, на которых пользователь может войти в систему. Каждое имя NetBIOS отделяется запятой.
Если значения не заданы, это означает, что ограничения отсутствуют. Чтобы отключить входы со всех рабочих станций в эту учетную запись, задайте значение UF_ACCOUNTDISABLE (определено в Lmaccess.h) в атрибуте userAccountControl.