Udostępnij przez


Atrybuty zabezpieczeń użytkownika

Oprócz właściwości nazewnictwa obiektów użytkownika, na przykład objectGUID, objectSid, cn, distinguishedNameitd. istnieją inne właściwości zabezpieczeń używane do logowania, dostępu do sieci i kontroli dostępu. Te właściwości są używane przez system zabezpieczeń systemu Windows i mogą być wyświetlane i zarządzane przez przystawkę Użytkownicy i komputery usługi Active Directory.

accountExpires

Atrybut accountExpires określa, kiedy konto wygaśnie. Ta wartość jest przechowywana jako duża liczba całkowita reprezentująca liczbę 100-nanosekundowych interwałów od 1 stycznia 1601 (UTC). Wartość TIMEQ_FOREVER (zdefiniowana w funkcji Lmaccess.h) wskazuje, że konto nigdy nie wygasa.

altSecurityIdentities

Atrybut altSecurityIdentities jest atrybutem wielowartościowym zawierającym mapowania certyfikatów X.509 lub zewnętrznych kont użytkowników protokołu Kerberos na potrzeby uwierzytelniania. Różne pakiety zabezpieczeń, w tym pakiet uwierzytelniania klucza publicznego i protokół Kerberos, używają tych danych do uwierzytelniania użytkowników, gdy przedstawiają alternatywną formę identyfikacji, taką jak certyfikat, bilet Kerberos systemu UNIX itd. Skompiluj token systemu Windows 2000 na podstawie odpowiedniego konta użytkownika, aby uzyskać dostęp do zasobów systemowych.

W przypadku certyfikatów X.509 wartości powinny być nazwami wystawcy i podmiotu w certyfikatach 509v3 wystawionych przez zewnętrzny publiczny urząd certyfikacji, który jest mapowany na konto użytkownika używane do znajdowania konta do uwierzytelniania. Pakiet SSL (Schannel) używa następującej składni: X509:<somecertinfotype>somecertinfoinfo. Na przykład poniższa wartość określa wystawcę DN "<I>" z DN "C=US,O=InternetCA,CN=APublicCertificateAuthority" i podmiot DN "<S>" z 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

Należy pamiętać, że "<S>" lub "<I>" i "<S>" są obsługiwane. Posiadanie tylko "<I>" nie jest obsługiwane. Aplikacje nie powinny modyfikować wartości w<I>" lub "<S>", ponieważ częściowe dopasowanie DN nie jest obsługiwane.

W przypadku kont zewnętrznych protokołu Kerberos wartości powinny być nazwą konta protokołu Kerberos. Pakiet Kerberos używa następującej składni: Kerberos:MITaccountname. Na przykład poniżej znajduje się wartość konta w Fabrikam.com:

Kerberos:Jeff.Smith@Fabrikam.com

badPasswordTime

Niezreplikowane. Atrybut badPasswordTime określa czas ostatniej próby zalogowania się do konta przy użyciu nieprawidłowego hasła. Ta wartość jest przechowywana jako duża liczba całkowita reprezentująca liczbę 100-nanosekundowych interwałów od 1 stycznia 1601 (UTC). Ten atrybut jest utrzymywany oddzielnie na każdym kontrolerze domeny w domenie. Wartość zero oznacza, że ostatni zły czas hasła jest nieznany. Aby uzyskać dokładną wartość ostatniego nieprawidłowego czasu hasła użytkownika w domenie, każdy kontroler domeny w domenie musi zostać zapytany i należy użyć największej wartości.

badPwdCount

Niezreplikowane. Atrybut badPwdCount określa liczbę prób zalogowania się do konta przy użyciu nieprawidłowego hasła. Ten atrybut jest utrzymywany oddzielnie na każdym kontrolerze domeny w domenie. Wartość 0 wskazuje, że wartość jest nieznana. Aby uzyskać dokładną wartość łącznej liczby nieudanych prób haseł użytkownika w domenie, każdy kontroler domeny w domenie musi być odpytywane i należy użyć sumy wartości.

codePage

Atrybut codePage określa stronę kodową wybranego języka użytkownika. Ta wartość nie jest używana przez system Windows.

countryCode

Atrybut countryCode określa kod kraju/regionu dla języka użytkownika. Ta wartość nie jest używana przez system Windows.

homeDirectory

Atrybut homeDirectory określa ścieżkę katalogu macierzystego użytkownika. Ciąg może mieć wartość null.

Jeśli homeDrive jest ustawiona i określa literę dysku, homeDirectory powinna być ścieżką UNC. Ścieżka musi być ścieżką UNC sieci formularza \\server\share\directory. Ta wartość może być ciągiem o wartości null.

Jeśli homeDrive nie jest ustawiona, homeDirectory powinna być ścieżką lokalną, na przykład C:\mylocaldir.

homeDrive

Atrybut homeDrive określa literę dysku, do której ma być mapowany ścieżka UNC określona przez homeDirectory. Litera dysku musi być określona w następującym formularzu:

<drive letter>:

gdzie "<litera dysku>" to litera dysku do mapowania. Na przykład:

Z:

Jeśli ten atrybut nie jest ustawiony, homeDirectory powinna być ścieżką lokalną, na przykład C:\mylocaldir.

lastLogoff

Niezreplikowane. Atrybut lastLogoffokreśla, kiedy wystąpiło ostatnie wylogowanie. Ta wartość jest przechowywana jako duża liczba całkowita reprezentująca liczbę 100-nanosekundowych interwałów od 1 stycznia 1601 (UTC). Duża część tej dużej liczby całkowitej odpowiada składowej dwHighDateTime struktury FILETIME, a część niska odpowiada składowej dwLowDateTime struktury FILETIME. Ten atrybut jest utrzymywany oddzielnie na każdym kontrolerze domeny w domenie. Wartość zero oznacza, że czas ostatniego wylogowania jest nieznany. Aby uzyskać dokładną wartość ostatniego wylogowania użytkownika w domenie, każdy kontroler domeny w domenie musi być odpytywane i należy użyć największej wartości.

lastLogon

Niezreplikowane. Atrybut lastLogonokreśla czas ostatniego logowania. Ta wartość jest przechowywana jako duża liczba całkowita reprezentująca liczbę 100-nanosekundowych interwałów od 1 stycznia 1601 (UTC). Duża część tej dużej liczby całkowitej odpowiada składowej dwHighDateTime struktury FILETIME, a część niska odpowiada składowej dwLowDateTime struktury FILETIME. Ten atrybut jest utrzymywany oddzielnie na każdym kontrolerze domeny w domenie. Wartość zero oznacza, że czas ostatniego logowania jest nieznany. Aby uzyskać dokładną wartość ostatniego logowania użytkownika w domenie, każdy kontroler domeny w domenie musi być odpytywane i należy użyć największej wartości.

lmPwdHistory

Atrybut lmPwdHistory to historia haseł użytkownika w formacie jednokierunkowym (OWF). System LM OWF jest używany do zapewnienia zgodności z klientami programu LAN Manager 2.x, Windows 95 i Windows 98. Ten atrybut jest używany tylko przez system operacyjny. Należy pamiętać, że nie można utworzyć hasła w postaci zwykłego tekstu z formularza OWF hasła.

logonCount

Niezreplikowane. Atrybut logonCount zlicza liczbę pomyślnych prób zalogowania się na tym koncie przez użytkownika. Ten atrybut jest utrzymywany na każdym kontrolerze domeny w domenie. Wartość 0 wskazuje, że wartość jest nieznana. Aby uzyskać dokładną wartość całkowitej liczby pomyślnych prób logowania użytkownika w domenie, każdy kontroler domeny w domenie musi zostać zapytany i należy użyć sumy wartości.

poczta

Atrybutpocztyjest atrybutem o pojedynczej wartości, który zawiera adres SMTP użytkownika, na przykład jeff@Fabrikam.com.

maxStorage

Atrybut maxStorage określa maksymalną ilość miejsca na dysku twardym, którego użytkownik może użyć. Użyj wartości USER_MAXSTORAGE_UNLIMITED (zdefiniowanej w funkcji Lmaccess.h), aby użyć wszystkich dostępnych miejsca na dysku.

memberOf

Atrybut memberOfjest atrybutem wielowartościowym zawierającym grupy, których użytkownik jest bezpośrednim elementem członkowskim, z wyjątkiem grupy podstawowej reprezentowanej przez primaryGroupId. Członkostwo w grupie jest zależne od kontrolera domeny (DC), z którego ten atrybut jest pobierany:

  • Na kontrolerze domeny, która zawiera użytkownika, memberOf dla użytkownika jest kompletny w odniesieniu do członkostwa w grupach w tej domenie; jednak memberOf nie zawiera członkostwa użytkownika w domenie lokalnej i globalnej grupy w innych domenach.
  • Na serwerze GC memberOf dla użytkownika jest kompletny w odniesieniu do wszystkich członkostw w grupach uniwersalnych.

Jeśli oba warunki są spełnione dla kontrolera domeny, oba zestawy danych są zawarte w memberOf.

Należy pamiętać, że ten atrybut zawiera listę grup, które zawierają użytkownika w atrybucie członkowskim — nie zawiera on cyklicznej listy zagnieżdżonych poprzedników. Jeśli na przykład użytkownik O jest członkiem grupy C, grupy B i grupy B zostały zagnieżdżone w grupie A, memberOf atrybut użytkownika O będzie zawierać grupę C i grupę B, ale nie grupę A.

Ten atrybut nie jest przechowywany — jest to obliczony atrybut linku zwrotnego.

ntPwdHistory

Atrybut ntPwdHistory jest historią haseł użytkownika w formacie jednokierunkowym systemu Windows NT (OWF). System Windows używa systemu Windows NT OWF. Ten atrybut jest używany tylko przez system operacyjny. Należy pamiętać, że nie można utworzyć hasła w postaci zwykłego tekstu z formularza OWF hasła.

otherMailbox

Atrybut otherMailbox jest atrybutem wielowartym, który zawiera inne dodatkowe adresy e-mail w formularzu, na przykład CCMAIL: JeffSmith.

PasswordExpirationDate

Data wygaśnięcia hasła nie jest atrybutem obiektu użytkownika. Jest to wartość obliczeniowa oparta na sumie pwdLastSet dla użytkownika i maxPwdAge domeny użytkownika. Aby uzyskać datę wygaśnięcia hasła, pobierz właściwość IADsUser.PasswordExpirationDate. Nie można zmodyfikować tego atrybutu dla użytkownika; Zamiast tego ustaw właściwość IADsDomain.MaxPasswordAge, aby zmienić ustawienie domeny.

primaryGroupId

Atrybut primaryGroupId jest atrybutem o pojedynczej wartości, który zawiera primaryGroupToken grupy, która jest podstawową grupą obiektu. Podstawowa grupa obiektu nie jest uwzględniona w atrybucie memberOf. Na przykład domyślnie grupa podstawowa obiektu użytkownika jest primaryGroupToken grupy Użytkownicy domeny, ale grupa Użytkownicy domeny nie jest częścią atrybutu memberOf obiektu użytkownika.

profilePath

Atrybut profilePath określa ścieżkę do profilu użytkownika. Ta wartość może być ciągiem o wartości null, lokalną ścieżką bezwzględną lub ścieżką UNC.

pwdLastSet

Atrybut pwdLastSet określa, kiedy hasło zostało ostatnio zmienione. Ta wartość jest przechowywana jako duża liczba całkowita reprezentująca liczbę 100-nanosekundowych interwałów od 1 stycznia 1601 (UTC).

System używa wartości tego atrybutu i maxPwdAge atrybutu domeny zawierającej obiekt użytkownika w celu obliczenia daty wygaśnięcia hasła. Oznacza to, że suma pwdLastSet dla użytkownika i maxPwdAge domeny użytkownika.

Ten atrybut określa, czy użytkownik musi zmienić hasło, gdy użytkownik zaloguje się dalej. Jeśli pwdLastSet wynosi zero, wartość domyślna, użytkownik musi zmienić hasło przy następnym logowaniu. Wartość -1 wskazuje, że użytkownik nie jest wymagany do zmiany hasła podczas następnego logowania. System ustawia tę wartość na -1 po ustawieniu hasła przez użytkownika.

sAMAccountType

Atrybut sAMAccountType określa liczbę całkowitą reprezentującą typ konta. Jest to ustawiane przez system operacyjny podczas tworzenia obiektu.

scriptPath

Atrybut scriptPath określa ścieżkę skryptu logowania użytkownika, .cmd, .exelub pliku .bat. Ciąg może mieć wartość null.

tokenGroups

Atrybut tokenGroups jest atrybutem wielowartościowym zawierającym identyfikator SID wszystkich grup, których użytkownik jest bezpośrednim i pośrednim elementem członkowskim, w tym dla grupy podstawowej. Ten atrybut można pobrać tylko wtedy, gdy serwer wykazu globalnego (GC) jest obecny w celu pobrania przejściowych członkostw odwrotnych.

Należy pamiętać, że ten atrybut zawiera grupy, które zawierają użytkownika w swoim atrybucie członkowskim, a także grupy, które zawierają te grupy w ich atrybucie członkowskim, i tak dalej cyklicznie. Jeśli na przykład użytkownik O jest członkiem grupy C, grupy B i grupy B zostały zagnieżdżone w grupie A, tokenGroups atrybut użytkownika O wyświetli grupę C, grupę B i grupę A.

Atrybut tokenGroups jest przydatnym atrybutem do uzyskania listy członkostwa w grupach w zaledwie dwóch zapytaniach LDAP: pierwszy, aby uzyskać listę identyfikatorów SID grupy z atrybutu tokenGroups użytkownika, drugi przy użyciu tej listy identyfikatorów SID, aby uzyskać atrybut nazwy każdej grupy. Pozwala uniknąć konieczności wprowadzania wielu wyszukiwań, aby rozwinąć atrybut primaryGroupId i cyklicznie rozwinąć atrybut memberOf.

unicodePwd

Atrybut unicodePwd jest hasłem użytkownika.

Aby ustawić hasło użytkownika, użyj metody IADsUser.ChangePassword, jeśli skrypt lub aplikacja umożliwia użytkownikowi zmianę własnego hasła lub IADsUser.SetPassword metodę, jeśli skrypt lub aplikacja zezwala administratorowi na zresetowanie hasła.

Hasło użytkownika w formacie jednokierunkowym systemu Windows NT (OWF). System Windows używa systemu Windows NT OWF. Ten atrybut jest używany tylko przez system operacyjny. Należy pamiętać, że nie można utworzyć hasła w postaci zwykłego tekstu z formularza OWF hasła.

userAccountControl

Atrybut userAccountControl określa flagi, które kontrolują hasło, blokadę, wyłączanie/włączanie, skrypt i zachowanie katalogu macierzystego dla użytkownika. Ten atrybut zawiera również flagę wskazującą typ konta obiektu. Obiekt użytkownika zwykle ma zestaw UF_NORMAL_ACCOUNT.

Następujące flagi są zdefiniowane w pliku Lmaccess.h.

Flaga Opis
UF_SCRIPT Wykonany skrypt logowania. Tę wartość należy ustawić dla programu LAN Manager 2.0 lub Windows NT.
UF_ACCOUNTDISABLE Konto użytkownika jest wyłączone.
UF_HOMEDIR_REQUIRED Katalog macierzystowy jest wymagany. Ta wartość jest ignorowana w systemach Windows NT i Windows 2000.
UF_PASSWD_NOTREQD Hasło nie jest wymagane.
UF_PASSWD_CANT_CHANGE Użytkownik nie może zmienić hasła.
UF_LOCKOUT Konto jest obecnie zablokowane. Tę wartość można wyczyścić, aby odblokować wcześniej zablokowane konto. Tej wartości nie można użyć do zablokowania wcześniej zablokowanego konta.
UF_DONT_EXPIRE_PASSWD Reprezentuje hasło, które nigdy nie powinno wygasać na koncie.

Poniższe flagi opisują typ konta. Można ustawić tylko jedną wartość. Nie można zmienić typu konta.

Flaga Opis
UF_NORMAL_ACCOUNT Jest to domyślny typ konta, który reprezentuje typowego użytkownika.
UF_TEMP_DUPLICATE_ACCOUNT Jest to konto dla użytkowników, których konto podstawowe znajduje się w innej domenie. To konto zapewnia użytkownikowi dostęp do tej domeny, ale nie do żadnej domeny, która ufa tej domenie. Menedżer użytkowników określa ten typ konta jako konto użytkownika lokalnego.
UF_WORKSTATION_TRUST_ACCOUNT Jest to konto komputera dla systemu Windows NT Workstation/Windows 2000 Professional lub Windows NT Server/Windows 2000 Server, który jest członkiem tej domeny.
UF_SERVER_TRUST_ACCOUNT Jest to konto komputera dla kontrolera domeny kopii zapasowej systemu Windows NT, który jest członkiem tej domeny.
UF_INTERDOMAIN_TRUST_ACCOUNT Jest to zezwolenie na ufanie kontu dla domeny systemu Windows NT, która ufa innym domenom.

userCertificate

Atrybut userCertificate jest atrybutem wielowartościowym zawierającym certyfikaty X509v3 zakodowane w formacie DER wystawione dla użytkownika. Należy pamiętać, że ten atrybut zawiera certyfikaty kluczy publicznych wystawione dla tego użytkownika przez usługę certyfikatów firmy Microsoft.

userSharedFolder

Atrybut userSharedFolder określa ścieżkę UNC do folderu dokumentów udostępnionych użytkownika. Ścieżka musi być ścieżką UNC sieci formularza \\server\share\directory. Ta wartość może być ciągiem o wartości null.

userWorkstations

Atrybut userWorkstations jest atrybutem o pojedynczej wartości, który zawiera nazwy NetBIOS stacji roboczych, z których użytkownik może się zalogować. Każda nazwa NetBIOS jest oddzielona przecinkiem.

Jeśli nie ustawiono żadnych wartości, oznacza to, że nie ma żadnych ograniczeń. Aby wyłączyć logowania ze wszystkich stacji roboczych do tego konta, ustaw wartość UF_ACCOUNTDISABLE (zdefiniowaną w lmaccess.h) w atrybut userAccountControl.