Atributos de segurança do usuário
Além de nomear propriedades para objetos de usuário, por exemplo, objectGUID, objectSid, cn, distinguishedNamee 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ário e computadores do Active Directory.
accountExpires
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 os 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 ele possa acessar recursos do sistema.
Para certificados X.509, os valores devem ser os nomes emissor e assunto em certificados 509v3, emitidos por uma autoridade de certificação pública externa, que mapeiam para a conta de usuário usada para encontrar uma conta para autenticação. O pacote SSL (Schannel) usa a seguinte sintaxe: X509:<somecertinfotype>somecertinfofo. Por exemplo, o valor a seguir especifica o emissor DN "<I>" com o DN "C=US, O=InternetCA,CN=APublicCertificateAuthority" e o assunto DN "<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
Lembre-se de que "<S>" ou "<I>" e "<S>" são compatíveis. Não há suporte para ter apenas "<que eu>". Os aplicativos não devem modificar os valores em "<I>" ou "<S>" porque não há suporte para correspondência de DN parcial.
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 igual a zero significa que a hora da última senha inválida é desconhecida. Para obter um valor preciso para o último tempo de senha inválido 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.
codePage
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 para o 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 formulário \\server\share\directory. Esse valor pode ser uma cadeia de caracteres nula.
Se homeDrive não estiver definido, homeDirectory deverá ser um caminho local, por exemplo, C:\mylocaldir.
homeDrive
O atributo homeDrive especifica a letra da unidade para a qual mapear o caminho UNC especificado por homeDirectory
. A letra da unidade deve ser especificada no seguinte formulário:
<drive letter>:
em que "<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.
lastLogoff
Não replicado. O atributo lastLogoff especifica quando o último logoff ocorreu. 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 dwHighDateTime
da estruturaFILETIME e a parte baixa corresponde ao membro dwLowDateTime
da estrutura FILETIME
. Esse atributo é mantido separadamente em cada controlador de domínio no domínio. Um valor igual a zero significa que a hora do último logoff é desconhecida. 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 o último logon ocorreu. 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 dwHighDateTime
da estruturaFILETIME e a parte baixa corresponde ao membro dwLowDateTime
da estrutura FILETIME
. Esse atributo é mantido separadamente em cada controlador de domínio no domínio. Um valor igual a zero significa que a hora da última 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 apenas 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.
logonCount
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.
correio
O atributo email é um atributo de valor único que contém o endereço SMTP para o usuário, por exemplo, jeff@Fabrikam.com
.
maxStorage
O atributo maxStorage especifica a quantidade máxima de espaço em 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 o grupo primário, que é representado peloprimaryGroupId. A associação de grupo depende do controlador de domínio (DC) do qual esse atributo é recuperado:
- Em um DC para o domínio que contém o usuário, memberOf para o usuário é completo em relação à associação a grupos nesse domínio; no entanto,
memberOf
não contém a associação do usuário em grupos locais e globais de domínio em outros domínios. - Em um servidor GC, membroOf para o usuário é completo em relação a todas as associações de grupo universais.
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 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 memberOf atributo do usuário O listaria o grupo C e o grupo B, mas não o grupo A.
Esse atributo não é armazenado, é um atributo de back-link computado.
ntPwdHistory
O atributo ntPwdHistory é o histórico de senhas do usuário no formato unidirecional do Windows NT (OWF). O Windows usa o Windows NT OWF. Esse atributo é usado apenas 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.
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 validade 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 validade da senha, obtenha a propriedade IADsUser.PasswordExpirationDate. Você não pode modificar esse atributo para um usuário; Em vez disso, defina a propriedade IADsDomain.MaxPasswordAge para alterar a configuração do domínio.
primaryGroupId
O atributo primaryGroupId é um atributo de valor único que contém oprimaryGroupTokendo 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 de Domínio, mas o grupo Usuários de Domínio não faz parte do atributo memberOf
do 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 validade 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 o usuário 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 é necessário para 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 do usuário, .cmd, .exeou .bat arquivo. A cadeia de caracteres pode ser nula.
tokenGroups
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 GC (Catálogo Global) estiver presente para recuperar as associações inversas transitivas.
Lembre-se de que esse atributo lista os grupos que contêm o usuário em seu atributo membro, bem como grupos que contêm esses grupos em seu atributo membro e assim por diante recursivamente. Por exemplo, se o usuário O for um membro do grupo C e o grupo B e o grupo B estiverem aninhados no grupo A, o tokenGroups atributo do usuário O listaria 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 a obter a lista de SIDs de grupo do atributo tokenGroups do usuário, a segunda usando essa lista de SIDs para obter o atributo de nome 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 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 do Windows NT (OWF). O Windows usa o Windows NT OWF. Esse atributo é usado apenas 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.
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 a UF_NORMAL_ACCOUNT definida.
Os sinalizadores a seguir são definidos em Lmaccess.h.
Bandeira | Descrição |
---|---|
UF_SCRIPT | O script de logon executado. Esse valor deve ser definido para o LAN Manager 2.0 ou Windows NT. |
UF_ACCOUNTDISABLE | A conta de usuário está desabilitada. |
UF_HOMEDIR_REQUIRED | O diretório base é necessário. Esse valor é ignorado no Windows NT e no Windows 2000. |
UF_PASSWD_NOTREQD | Nenhuma senha é necessária. |
UF_PASSWD_CANT_CHANGE | O usuário não pode alterar a senha. |
UF_LOCKOUT | No momento, a conta está bloqueada. 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. Somente um valor pode ser definido. Você não pode alterar o tipo de conta.
Bandeira | Descrição |
---|---|
UF_NORMAL_ACCOUNT | Esse é um tipo de conta padrão que representa um usuário típico. |
UF_TEMP_DUPLICATE_ACCOUNT | Essa é uma conta para usuários cuja conta primária está em outro domínio. Essa conta fornece acesso do usuário a esse domínio, mas não a nenhum 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 uma Estação de Trabalho do Windows NT/Windows 2000 Professional ou Windows NT Server/Windows 2000 Server que é membro desse domínio. |
UF_SERVER_TRUST_ACCOUNT | Essa é uma conta de computador para um Controlador de Domínio de Backup do Windows NT que é membro desse domínio. |
UF_INTERDOMAIN_TRUST_ACCOUNT | Essa é uma permissão para confiar em uma conta de 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 em DER emitidos para o usuário. Lembre-se de que esse atributo contém os certificados de chave pública emitidos a esse usuário pelo Serviço de Certificado 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 formulário \\server\share\directory. 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 nas quais o usuário pode fazer logon. Cada nome NetBIOS é separado por uma vírgula.
Se nenhum valor for definido, isso indicará que não há nenhuma restrição. Para desabilitar logons de todas as estações de trabalho para essa conta, defina o valor UF_ACCOUNTDISABLE (definido em Lmaccess.h) em atributo userAccountControl.