zoukankan      html  css  js  c++  java
  • SID(安全标识符)

    creating a SID for the Everyone group.

     1 DWORD SidSize;
     2 PSID TheSID;
     3 LPTSTR p;
     4 
     5 SidSize = SECURITY_MAX_SID_SIZE;
     6 // Allocate enough memory for the largest possible SID.
     7 if(!(TheSID = LocalAlloc(LMEM_FIXED, SidSize)))
     8 {    
     9     fprintf(stderr, "Could not allocate memory.
    ");
    10     exit(1);
    11 }
    12 // Create a SID for the Everyone group on the local computer.
    13 if(!CreateWellKnownSid(WinWorldSid, NULL, TheSID, &SidSize))
    14 {
    15     fprintf(stderr,
    16             "CreateWellKnownSid Error %u",
    17             GetLastError());
    18 }
    19 else
    20 {
    21     // Get the string version of the SID (S-1-1-0).
    22     if(!(ConvertSidToStringSid(TheSID, &p)))
    23     {
    24         fprintf(stderr, 
    25                 "Error during ConvertSidToStringSid.
    ");
    26         exit(1);
    27     }
    28 
    29     // Use the string SID as needed.
    30     // ...
    31 
    32     // When done, free the memory used.
    33     LocalFree(p);
    34     LocalFree(TheSID);
    35 }
     1 typedef enum {
     2 
     3     WinNullSid                                  = 0,
     4     WinWorldSid                                 = 1,
     5     WinLocalSid                                 = 2,
     6     WinCreatorOwnerSid                          = 3,
     7     WinCreatorGroupSid                          = 4,
     8     WinCreatorOwnerServerSid                    = 5,
     9     WinCreatorGroupServerSid                    = 6,
    10     WinNtAuthoritySid                           = 7,
    11     WinDialupSid                                = 8,
    12     WinNetworkSid                               = 9,
    13     WinBatchSid                                 = 10,
    14     WinInteractiveSid                           = 11,
    15     WinServiceSid                               = 12,
    16     WinAnonymousSid                             = 13,
    17     WinProxySid                                 = 14,
    18     WinEnterpriseControllersSid                 = 15,
    19     WinSelfSid                                  = 16,
    20     WinAuthenticatedUserSid                     = 17,
    21     WinRestrictedCodeSid                        = 18,
    22     WinTerminalServerSid                        = 19,
    23     WinRemoteLogonIdSid                         = 20,
    24     WinLogonIdsSid                              = 21,
    25     WinLocalSystemSid                           = 22,
    26     WinLocalServiceSid                          = 23,
    27     WinNetworkServiceSid                        = 24,
    28     WinBuiltinDomainSid                         = 25,
    29     WinBuiltinAdministratorsSid                 = 26,
    30     WinBuiltinUsersSid                          = 27,
    31     WinBuiltinGuestsSid                         = 28,
    32     WinBuiltinPowerUsersSid                     = 29,
    33     WinBuiltinAccountOperatorsSid               = 30,
    34     WinBuiltinSystemOperatorsSid                = 31,
    35     WinBuiltinPrintOperatorsSid                 = 32,
    36     WinBuiltinBackupOperatorsSid                = 33,
    37     WinBuiltinReplicatorSid                     = 34,
    38     WinBuiltinPreWindows2000CompatibleAccessSid = 35,
    39     WinBuiltinRemoteDesktopUsersSid             = 36,
    40     WinBuiltinNetworkConfigurationOperatorsSid  = 37,
    41     WinAccountAdministratorSid                  = 38,
    42     WinAccountGuestSid                          = 39,
    43     WinAccountKrbtgtSid                         = 40,
    44     WinAccountDomainAdminsSid                   = 41,
    45     WinAccountDomainUsersSid                    = 42,
    46     WinAccountDomainGuestsSid                   = 43,
    47     WinAccountComputersSid                      = 44,
    48     WinAccountControllersSid                    = 45,
    49     WinAccountCertAdminsSid                     = 46,
    50     WinAccountSchemaAdminsSid                   = 47,
    51     WinAccountEnterpriseAdminsSid               = 48,
    52     WinAccountPolicyAdminsSid                   = 49,
    53     WinAccountRasAndIasServersSid               = 50,
    54     WinNTLMAuthenticationSid                    = 51,
    55     WinDigestAuthenticationSid                  = 52,
    56     WinSChannelAuthenticationSid                = 53,
    57     WinThisOrganizationSid                      = 54,
    58     WinOtherOrganizationSid                     = 55,
    59     WinBuiltinIncomingForestTrustBuildersSid    = 56,
    60     WinBuiltinPerfMonitoringUsersSid            = 57,
    61     WinBuiltinPerfLoggingUsersSid               = 58,
    62     WinBuiltinAuthorizationAccessSid            = 59,
    63     WinBuiltinTerminalServerLicenseServersSid   = 60,
    64     WinBuiltinDCOMUsersSid                      = 61,
    65     WinBuiltinIUsersSid                         = 62,
    66     WinIUserSid                                 = 63,
    67     WinBuiltinCryptoOperatorsSid                = 64,
    68     WinUntrustedLabelSid                        = 65,
    69     WinLowLabelSid                              = 66,
    70     WinMediumLabelSid                           = 67,
    71     WinHighLabelSid                             = 68,
    72     WinSystemLabelSid                           = 69,
    73     WinWriteRestrictedCodeSid                   = 70,
    74     WinCreatorOwnerRightsSid                    = 71,
    75     WinCacheablePrincipalsGroupSid              = 72,
    76     WinNonCacheablePrincipalsGroupSid           = 73,
    77     WinEnterpriseReadonlyControllersSid         = 74,
    78     WinAccountReadonlyControllersSid            = 75,
    79     WinBuiltinEventLogReadersGroup              = 76,
    80     WinNewEnterpriseReadonlyControllersSid      = 77,
    81     WinBuiltinCertSvcDComAccessGroup            = 78,
    82     WinMediumPlusLabelSid                       = 79,
    83     WinLocalLogonSid                            = 80,
    84     WinConsoleLogonSid                            = 81,
    85     WinThisOrganizationCertificateSid            = 82,
    86 } WELL_KNOWN_SID_TYPE;

    匹配一个SID与已知的SID是否匹配

    1 BOOL IsWellKnownSid(
    2   PSID pSid,
    3   WELL_KNOWN_SID_TYPE WellKnownSidType
    4 );
  • 相关阅读:
    搞清楚C#中的值类型(基础类型)和引用类型
    构造动态SQL语句
    Json.net API及常用方法
    泛型代码中的default有何作用
    SQL 中的for xml path()的使用
    fastJosn和JackJson的区别
    箭头函数
    3篇文章初探MVC工作流程
    MVC传递Model之TempData、ViewData、ViewBag区别和用途
    .Net 提交页面,js修改的Label值会丢掉
  • 原文地址:https://www.cnblogs.com/wuyuan2011woaini/p/10469450.html
Copyright © 2011-2022 走看看