Atributos de segurança do usuário

Além de nomear propriedades para objetos de usuário, por exemplo, objectGUID, objectSid, cn, distinguishedName e assim por diante, há outras propriedades de segurança usadas para logon, acesso à rede e controle de acesso. Essas propriedades são usadas pelo sistema de segurança do Windows e podem ser exibidas e gerenciadas pelo snap-in Usuários e Computadores do Active Directory.

accountExpira

O atributo accountExpires especifica quando uma conta expira. Esse valor é armazenado como um inteiro grande que representa o número de intervalos de 100 nanossegundos desde 1º de janeiro de 1601 (UTC). Um valor de TIMEQ_FOREVER (definido em Lmaccess.h) indica que uma conta nunca expira.

altSecurityIdentities

O atributo altSecurityIdentities é um atributo de vários valores que contém mapeamentos para certificados X.509 ou contas de usuário Kerberos externas para esse usuário para fins de autenticação. Vários pacotes de segurança, incluindo o pacote de autenticação de Chave Pública e Kerberos, usam esses dados para autenticar usuários quando eles apresentam a forma alternativa de identificação, como certificado, tíquete UNIX Kerberos e assim por diante. Crie um token do Windows 2000 com base na conta de usuário correspondente para que eles possam acessar os recursos do sistema.

Para certificados X.509, os valores devem ser os nomes do Emissor e da Entidade nos certificados 509v3, emitidos por uma autoridade de certificação pública externa, que são mapeados para a conta de usuário usada para localizar uma conta para autenticação. O pacote SSL (Schannel) usa a seguinte sintaxe: X509:<somecertinfotype>somecertinfo. Por exemplo, o valor a seguir especifica o DN do emissor "I>" com o DN "C=US,O=InternetCA,CN=APublicCertificateAuthority" e o DN do assunto "S>" com o 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

Esteja ciente de que "S" ou "I>" e "S>>"<<< são suportados. Ter apenas "eu>"< não é suportado. Os aplicativos não devem modificar os valores dentro de "I>" ou "S>"<< porque a correspondência de DN parcial não é suportada.

Para contas Kerberos externas, os valores devem ser o nome da conta Kerberos. O pacote Kerberos usa a seguinte sintaxe: Kerberos:MITaccountname. Por exemplo, o seguinte é o valor de uma conta em Fabrikam.com:

Kerberos:Jeff.Smith@Fabrikam.com

badPasswordTime

Não replicado. O atributo badPasswordTime especifica a última vez que o usuário tentou fazer logon na conta usando uma senha incorreta. Esse valor é armazenado como um inteiro grande que representa o número de intervalos de 100 nanossegundos desde 1º de janeiro de 1601 (UTC). Esse atributo é mantido separadamente em cada controlador de domínio no domínio. Um valor de zero significa que a última hora da senha incorreta é desconhecida. Para obter um valor preciso para a última hora de senha incorreta do usuário no domínio, cada controlador de domínio no domínio deve ser consultado e o maior valor deve ser usado.

badPwdCount

Não replicado. O atributo badPwdCount especifica o número de vezes que o usuário tentou fazer logon na conta usando uma senha incorreta. Esse atributo é mantido separadamente em cada controlador de domínio no domínio. Um valor de 0 indica que o valor é desconhecido. Para obter um valor preciso para o total de tentativas de senha incorreta do usuário no domínio, cada controlador de domínio no domínio deve ser consultado e a soma dos valores deve ser usada.

Página de código

O atributo codePage especifica a página de código para o idioma escolhido pelo usuário. Esse valor não é usado pelo Windows.

countryCode

O atributo countryCode especifica o código de país/região para o idioma do usuário. Esse valor não é usado pelo Windows.

homeDirectory

O atributo homeDirectory especifica o caminho do diretório base do usuário. A cadeia de caracteres pode ser nula.

Se homeDrive estiver definido e especificar uma letra de unidade, homeDirectory deverá ser um caminho UNC. O caminho deve ser um caminho UNC de rede do formato \\servidor\compartilhamento\diretório. Esse valor pode ser uma cadeia de caracteres nula.

Se homeDrive não estiver definido, homeDirectory deve ser um caminho local, por exemplo, C:\mylocaldir.

homeMovimentação

O atributo homeDrive especifica a letra da unidade para a qual mapear o caminho UNC especificado pelo homeDirectory. A letra da unidade deve ser especificada da seguinte forma:

<drive letter>:

onde "letra> da unidade"< é a letra da unidade a ser mapeada. Por exemplo:

Z:

Se esse atributo não estiver definido, o homeDirectory deverá ser um caminho local, por exemplo, C:\mylocaldir.

último Logoff

Não replicado. O atributo lastLogoff especifica quando ocorreu o último logoff. Esse valor é armazenado como um inteiro grande que representa o número de intervalos de 100 nanossegundos desde 1º de janeiro de 1601 (UTC). A parte alta desse inteiro grande corresponde ao membro da estrutura FILETIME e a parte baixa corresponde ao dwHighDateTime dwLowDateTime membro da FILETIMEestrutura. Esse atributo é mantido separadamente em cada controlador de domínio no domínio. Um valor de zero significa que o último tempo de logoff é desconhecido. Para obter um valor preciso para o último logoff do usuário no domínio, cada controlador de domínio no domínio deve ser consultado e o maior valor deve ser usado.

lastLogon

Não replicado. O atributo lastLogon especifica quando ocorreu o último logon. Esse valor é armazenado como um inteiro grande que representa o número de intervalos de 100 nanossegundos desde 1º de janeiro de 1601 (UTC). A parte alta desse inteiro grande corresponde ao membro da estrutura FILETIME e a parte baixa corresponde ao dwHighDateTime dwLowDateTime membro da FILETIMEestrutura. Esse atributo é mantido separadamente em cada controlador de domínio no domínio. Um valor zero significa que a hora do último logon é desconhecida. Para obter um valor preciso para o último logon do usuário no domínio, cada controlador de domínio no domínio deve ser consultado e o maior valor deve ser usado.

lmPwdHistory

O atributo lmPwdHistory é o histórico de senhas do usuário no formato unidirecional (OWF) do LAN Manager (LM). O LM OWF é usado para compatibilidade com clientes LAN Manager 2.x, Windows 95 e Windows 98. Esse atributo é usado somente pelo sistema operacional. Lembre-se de que você não pode derivar a senha de texto sem formatação do formulário OWF da senha.

logonContagem

Não replicado. O atributo logonCount conta o número de vezes bem-sucedidas que o usuário tentou fazer logon nessa conta. Esse atributo é mantido em cada controlador de domínio no domínio. Um valor de 0 indica que o valor é desconhecido. Para obter um valor preciso para o número total de tentativas de logon bem-sucedidas do usuário no domínio, cada controlador de domínio no domínio deve ser consultado e a soma dos valores deve ser usada.

email

O atributo mail é um atributo de valor único que contém o endereço SMTP do usuário, por exemplo, jeff@Fabrikam.com.

maxArmazenamento

O atributo maxStorage especifica a quantidade máxima de espaço na unidade de disco rígido que o usuário pode usar. Use o valor USER_MAXSTORAGE_UNLIMITED (definido em Lmaccess.h) para usar todo o espaço em disco disponível.

memberOf

O atributo memberOf é um atributo de vários valores que contém grupos dos quais o usuário é um membro direto, exceto para o grupo primário, que é representado pelo primárioGroupId. A associação ao grupo depende do controlador de domínio (DC) do qual esse atributo é recuperado:

Se ambas as condições forem verdadeiras para o DC, ambos os conjuntos de dados estarão contidos em memberOf.

Lembre-se de que esse atributo lista os grupos que contêm o usuário em seu atributo de membro — ele não contém a lista recursiva de predecessores aninhados. Por exemplo, se o usuário O for membro do grupo C e o grupo B e o grupo B estiverem aninhados no grupo A, o atributo memberOf do usuário O listará o grupo C e o grupo B, mas não o grupo A.

Esse atributo não é armazenado — é um atributo de backlink calculado.

ntPwdHistory

O atributo ntPwdHistory é o histórico de senhas do usuário no formato unidirecional (OWF) do Windows NT. O Windows usa o Windows NT OWF. Esse atributo é usado somente pelo sistema operacional. Lembre-se de que você não pode derivar a senha de texto sem formatação de volta do formulário OWF da senha.

otherMailbox

O atributo otherMailbox é um atributo de vários valores que contém outros endereços de email adicionais em um formulário, por exemplo, CCMAIL: JeffSmith.

PasswordExpirationDate

A data de expiração da senha não é um atributo no objeto de usuário. É um valor calculado com base na soma de pwdLastSet para o usuário e maxPwdAge do domínio do usuário. Para obter a data de expiração da senha, obtenha a propriedade IADsUser.PasswordExpirationDate. Não é possível modificar esse atributo para um usuário; em vez disso, defina a propriedade IADsDomain.MaxPasswordAge para alterar a configuração do domínio.

primárioGroupId

O atributo primaryGroupId é um atributo de valor único que contém o primaryGroupToken do grupo que é o grupo primário do objeto. O grupo primário do objeto não está incluído no atributo memberOf . Por exemplo, por padrão, o grupo primário de um objeto de usuário é o primaryGroupToken do grupo Usuários do Domínio, mas o grupo Usuários do Domínio não faz parte do atributo do memberOf objeto de usuário.

profilePath

O atributo profilePath especifica um caminho para o perfil do usuário. Esse valor pode ser uma cadeia de caracteres nula, um caminho absoluto local ou um caminho UNC.

pwdLastSet

O atributo pwdLastSet especifica quando a senha foi alterada pela última vez. Esse valor é armazenado como um inteiro grande que representa o número de intervalos de 100 nanossegundos desde 1º de janeiro de 1601 (UTC).

O sistema usa o valor desse atributo e o atributo maxPwdAge do domínio que contém o objeto de usuário para calcular a data de expiração da senha. Ou seja, a soma de pwdLastSet para o usuário e maxPwdAge do domínio do usuário.

Esse atributo controla se o usuário deve alterar a senha quando fizer logon em seguida. Se pwdLastSet for zero, o padrão, o usuário deverá alterar a senha no próximo logon. O valor -1 indica que o usuário não é obrigado a alterar a senha no próximo logon. O sistema define esse valor como -1 depois que o usuário definir a senha.

sAMAccountType

O atributo sAMAccountType especifica um inteiro que representa o tipo de conta. Isso é definido pelo sistema operacional quando o objeto é criado.

scriptPath

O atributo scriptPath especifica o caminho do script de logon, .cmd, .exe ou arquivo .bat do usuário. A cadeia de caracteres pode ser nula.

tokenGrupos

O atributo tokenGroups é um atributo de vários valores que contém o SID de todos os grupos dos quais o usuário é um membro direto e indireto, inclusive para o grupo primário. Esse atributo só poderá ser recuperado se um servidor de Catálogo Global (GC) estiver presente para recuperar as associações reversas transitivas.

Lembre-se de que esse atributo lista os grupos que contêm o usuário em seu atributo de membro, bem como os grupos que contêm esses grupos em seu atributo de membro e assim por diante recursivamente. Por exemplo, se o usuário O for membro do grupo C e o grupo B e o grupo B estiverem aninhados no grupo A, o atributo tokenGroups do usuário O listará o grupo C, o grupo B e o grupo A.

O atributo tokenGroups é um atributo útil para obter uma lista de associações de grupo em apenas duas consultas LDAP: a primeira para obter a lista de SIDs de grupo do atributo tokenGroups do usuário, a segunda usando essa lista de SIDs para obter o atributo name de cada grupo. Ele evita a necessidade de fazer várias pesquisas para expandir o atributo primaryGroupId e expandir recursivamente o atributo memberOf.

unicodePwd

O atributo unicodePwd é a senha do usuário.

Para definir a senha do usuário, use o método IADsUser.ChangePassword, se o script ou aplicativo permitir que o usuário altere sua própria senha, ou o método IADsUser.SetPassword, se o script ou aplicativo estiver permitindo que um administrador redefina uma senha.

A senha do usuário no formato unidirecional (OWF) do Windows NT. O Windows usa o Windows NT OWF. Esse atributo é usado somente pelo sistema operacional. Lembre-se de que você não pode derivar a senha de texto sem formatação de volta do formulário OWF da senha.

userAccountControl

O atributo userAccountControl especifica sinalizadores que controlam o comportamento de senha, bloqueio, desabilitação/habilitação, script e diretório base para o usuário. Esse atributo também contém um sinalizador que indica o tipo de conta do objeto. O objeto de usuário geralmente tem o UF_NORMAL_ACCOUNT definido.

Os sinalizadores a seguir são definidos em Lmaccess.h.

Sinalizador Descrição
UF_SCRIPT O script de logon foi executado. Esse valor deve ser definido para LAN Manager 2.0 ou Windows NT.
UF_ACCOUNTDISABLE A conta de usuário está desabilitada.
UF_HOMEDIR_REQUIRED O diretório base é obrigatório. Esse valor é ignorado no Windows NT e Windows 2000.
UF_PASSWD_NOTREQD Nenhuma senha é necessária.
UF_PASSWD_CANT_CHANGE O usuário não pode alterar a senha.
UF_LOCKOUT A conta está bloqueada no momento. Esse valor pode ser liberado para desbloquear uma conta bloqueada anteriormente. Esse valor não pode ser usado para bloquear uma conta bloqueada anteriormente.
UF_DONT_EXPIRE_PASSWD Representa a senha, que nunca deve expirar na conta.

Os sinalizadores a seguir descrevem o tipo de conta. Apenas um valor pode ser definido. Não é possível alterar o tipo de conta.

Sinalizador Descrição
UF_NORMAL_ACCOUNT Esse é um tipo de conta padrão que representa um usuário típico.
UF_TEMP_DUPLICATE_ACCOUNT Esta é uma conta para usuários cuja conta principal está em outro domínio. Essa conta fornece acesso de usuário a esse domínio, mas não a qualquer domínio que confie nesse domínio. O Gerenciador de usuários refere-se a esse tipo de conta como uma conta de usuário local.
UF_WORKSTATION_TRUST_ACCOUNT Esta é uma conta de computador para um Windows NT Workstation/Windows 2000 Professional ou Windows NT Server/Windows 2000 Server que é um membro deste domínio.
UF_SERVER_TRUST_ACCOUNT Esta é uma conta de computador para um controlador de domínio de backup do Windows NT que é um membro deste domínio.
UF_INTERDOMAIN_TRUST_ACCOUNT Esta é uma conta de permissão para confiar para um domínio do Windows NT que confia em outros domínios.

userCertificate

O atributo userCertificate é um atributo de vários valores que contém os certificados X509v3 codificados por DER emitidos para o usuário. Lembre-se de que esse atributo contém os certificados de chave pública emitidos para esse usuário pelo Serviço de Certificados da Microsoft.

userSharedFolder

O atributo userSharedFolder especifica um caminho UNC para a pasta de documentos compartilhados do usuário. O caminho deve ser um caminho UNC de rede do formato \\servidor\compartilhamento\diretório. Esse valor pode ser uma cadeia de caracteres nula.

userWorkstations

O atributo userWorkstations é um atributo de valor único que contém os nomes NetBIOS das estações de trabalho das quais o usuário pode fazer logon. Cada nome NetBIOS é separado por uma vírgula.

Se nenhum valor for definido, isso indica que não há restrição. Para desabilitar logons de todas as estações de trabalho para essa conta, defina o valor UF_ACCOUNTDISABLE (definido em Lmaccess.h) no atributo userAccountControl.