const char* sid_type_lookup | ( | uint32 | sid_type | ) |
util_sid.c の 129 行で定義されています。
参照先 sid_name_type.
参照元 api_NetUserGetGroups()・can_create()・cmd_lsa_lookup_names()・create_token_from_username()・enum_group_mapping()・fill_grent_mem()・find_forced_group()・legacy_sid_to_gid()・legacy_sid_to_uid()・net_lookup_name()・net_lookup_sid()・net_sam_addmem()・net_sam_delmem()・net_sam_listmem()・net_sam_set_comment()・net_sam_set_pwdmustchangenow()・net_sam_set_userflag()・net_sam_show()・net_sam_userset()・pdb_default_get_aliasinfo()・pdb_default_sid_to_id()・pdb_get_group_sid()・print_map_entry()・rpc_group_delete_internals()・rpc_sh_handle_user()・token_contains_name()・wbinfo_lookupname()・wbinfo_lookuprids()・winbindd_dual_pam_auth_cached()・winbindd_getgrent().
00130 { 00131 int i = 0; 00132 00133 /* Look through list */ 00134 while(sid_name_type[i].sid_type != 0) { 00135 if (sid_name_type[i].sid_type == sid_type) 00136 return sid_name_type[i].string; 00137 i++; 00138 } 00139 00140 /* Default return */ 00141 return "SID *TYPE* is INVALID"; 00142 }
NT_USER_TOKEN* get_system_token | ( | void | ) |
const char* get_global_sam_name | ( | void | ) |
util_sid.c の 158 行で定義されています。
参照先 global_myname・lp_workgroup()・ROLE_DOMAIN_BDC・ROLE_DOMAIN_PDC.
参照元 _lsa_query_info()・_lsa_query_info2()・_net_sam_logon_internal()・_samr_enum_domains()・_samr_query_domain_info()・assume_domain()・check_ntdomain_security()・check_trustdomain_security()・check_winbind_security()・create_builtin_administrators()・fetch_domain_info()・fill_dsrole_dominfo_basic()・find_lookup_domain_from_name()・idmap_init()・init_domain_list()・is_our_primary_domain()・ldapsam_create_user()・ldapsam_get_new_rid()・lookup_as_domain()・lookup_name()・lookup_name_smbconf()・lookup_rids()・make_user_info_map()・net_getdomainsid()・net_sam_provision()・pdb_init_ldapsam_common()・rpc_vampire_internals()・samu_set_unix_internal()・winbindd_getgrnam()・winbindd_getgroups()・winbindd_gettoken_async().
00159 { 00160 if ((lp_server_role() == ROLE_DOMAIN_PDC) || (lp_server_role() == ROLE_DOMAIN_BDC)) { 00161 return lp_workgroup(); 00162 } 00163 return global_myname(); 00164 }
util_sid.c の 170 行で定義されています。
参照先 dom_sid::id_auth・dom_sid::num_auths・dom_sid::sid_rev_num・dom_sid::sub_auths.
参照元 _net_sam_logon_internal()・_samr_lookup_names()・_samr_open_group()・_samr_query_groupmem()・_samr_query_sec_obj()・add_aliasmem()・add_mapping_entry()・add_new_domain_info()・ads_pull_sids()・append_info3_as_txt()・centry_put_sid()・cmd_lsa_enum_sids()・cmd_lsa_enum_trust_dom()・cmd_lsa_lookup_names()・cmd_lsa_lookup_sids()・cmd_samr_lookup_domain()・cmd_samr_query_aliasmem()・convert_fn()・convert_sid_to_string()・del_aliasmem()・disp_info_cache_idle_timeout_handler()・display_sam_sync()・display_sec_ace()・display_sec_desc()・fetch_account_info()・fetch_alias_info()・fetch_database_to_ldif()・fetch_group_info()・fill_grent_mem()・force_flush_samr_cache()・free_samr_info()・get_group_map_from_sid()・get_samr_info_by_sid()・group_map_remove()・info_fn()・init_ldap_from_sam()・init_sam_user_info21A()・ldapsam_add_sam_account()・ldapsam_getsampwsid()・ldapsam_search_suffix_by_sid()・lookup_groupmem()・lookup_usergroups()・lookupname_recv()・lsa_enum_trust_dom()・net_getdomainsid()・net_getlocalsid()・net_groupmap_add()・netsamlogon_clear_cached_user()・nt_printing_getsec()・one_alias_membership()・pdb_init_ldapsam()・print_canon_ace()・print_trusted_domain()・py_from_SID()・query_user()・query_user_async()・rpc_getsid_internals()・rpc_info_internals()・rpc_list_alias_members()・rpc_list_group_members()・rpc_query_domain_sid()・rpc_vampire_internals()・sam_query_user()・se_access_check()・sec_desc_equal()・set_disp_info_cache_timeout()・sid_string_static()・sid_to_name()・SidToString()・trustdom_cache_store()・update_printer_sec()・wcache_save_creds()・wcache_save_sid_to_name()・wcache_save_user()・winbind_set_mapping()・winbind_sid_to_gid()・winbind_sid_to_uid()・winbindd_dual_gid2sid()・winbindd_dual_lookupname()・winbindd_dual_pam_auth()・winbindd_dual_uid2sid()・winbindd_fill_pwent()・winbindd_set_mapping_async()・winbindd_sid2gid_async()・winbindd_sid2uid_async().
00171 { 00172 char subauth[16]; 00173 int i; 00174 uint32 ia; 00175 00176 if (!sid) { 00177 fstrcpy(sidstr_out, "(NULL SID)"); 00178 return sidstr_out; 00179 } 00180 00181 /* 00182 * BIG NOTE: this function only does SIDS where the identauth is not >= 2^32 00183 * in a range of 2^48. 00184 */ 00185 ia = (sid->id_auth[5]) + 00186 (sid->id_auth[4] << 8 ) + 00187 (sid->id_auth[3] << 16) + 00188 (sid->id_auth[2] << 24); 00189 00190 slprintf(sidstr_out, sizeof(fstring) - 1, "S-%u-%lu", (unsigned int)sid->sid_rev_num, (unsigned long)ia); 00191 00192 for (i = 0; i < sid->num_auths; i++) { 00193 slprintf(subauth, sizeof(subauth)-1, "-%lu", (unsigned long)sid->sub_auths[i]); 00194 fstrcat(sidstr_out, subauth); 00195 } 00196 00197 return sidstr_out; 00198 }
const char* sid_string_static | ( | const DOM_SID * | sid | ) |
util_sid.c の 204 行で定義されています。
参照先 sid_to_string().
参照元 _lsa_addprivs()・_lsa_enum_acct_rights()・_lsa_enum_privsaccount()・_lsa_lookup_sids_internal()・_lsa_removeprivs()・_samr_add_aliasmem()・_samr_add_groupmem()・_samr_del_aliasmem()・_samr_delete_dom_alias()・_samr_delete_dom_group()・_samr_delete_dom_user()・_samr_enum_dom_aliases()・_samr_lookup_domain()・_samr_query_aliasmem()・_samr_query_usergroups()・_samr_query_userinfo()・_samr_remove_sid_foreign_domain()・_samr_set_sec_obj()・_samr_set_userinfo()・_samr_set_userinfo2()・add_expanded_sid()・ads_disp_ace()・ads_disp_sd()・afs_login()・api_NetUserGetGroups()・append_parent_acl()・call_nt_transact_ioctl()・call_nt_transact_set_user_quota()・change_share_sec()・check_change_pw_access()・check_dom_sid_to_level()・cmd_lsa_enum_acct_rights()・create_local_nt_token()・create_local_token()・create_token_from_username()・debug_nt_user_token()・display_alias_mem()・display_query_info_12()・display_query_info_3()・display_query_info_5()・display_trust_dom_info_6()・domain_info_init_recv()・dump_ntquota()・dump_pac_logon_info()・dump_sid()・dump_user_token()・enum_accounts_for_privilege()・enum_group_mapping()・enum_privileges_for_accounts()・fetch_account_info()・fetch_gid_from_cache()・fetch_group_mem_info()・fetch_sid_from_gid_cache()・fetch_sid_from_uid_cache()・fetch_uid_from_cache()・fill_grent_mem()・find_forced_group()・find_lookup_domain_from_sid()・get_privileges()・get_privileges_for_sids()・get_user_info_16()・get_user_info_18()・get_user_info_20()・get_user_info_21()・get_user_info_7()・get_user_info_9()・getpwsid_queryuser_recv()・getusersids_recv()・gid_to_sid()・grant_privilege()・idmap_ad_sids_to_unixids()・idmap_backends_set_mapping()・idmap_backends_sids_to_unixids()・idmap_cache_build_sidkey()・idmap_can_map()・idmap_ldap_set_mapping()・idmap_ldap_sids_to_unixids()・idmap_ldap_unixids_to_sids()・idmap_new_mapping()・idmap_rid_sids_to_unixids()・idmap_sid_to_gid()・idmap_sid_to_uid()・idmap_tdb_remove_mapping()・idmap_tdb_set_mapping()・idmap_tdb_sid_to_id()・init_ldap_from_sam()・ldapgroup2displayentry()・ldapsam_change_groupmem()・ldapsam_create_dom_group()・ldapsam_delete_dom_group()・ldapsam_delete_group_mapping_entry()・ldapsam_enum_aliasmem()・ldapsam_extract_rid_from_entry()・ldapsam_getgrsid()・ldapsam_lookup_rids()・ldapsam_map_posixgroup()・ldapsam_modify_aliasmem()・ldapsam_search_grouptype()・ldapsam_update_group_mapping_entry()・ldapuser2displayentry()・legacy_gid_to_sid()・legacy_sid_to_gid()・legacy_sid_to_uid()・legacy_uid_to_sid()・log_nt_token()・longvar_domainsid()・lookup_cached_sid()・lookup_global_sam_name()・lookup_groupmem()・lookup_sid()・lookup_useraliases()・lookup_wellknown_sid()・main()・make_connection_snum()・msrpc_sid_to_name()・net_groupmap_add()・net_groupmap_cleanup()・net_groupmap_listmem()・net_idmap_restore()・net_lookup_name()・net_lookup_sid()・net_rpc_shell()・net_sam_delmem()・net_sam_listmem()・net_sam_mapunixgroup()・net_sam_provision()・net_sam_show()・net_usershare_add()・netsamlogon_cache_get()・netsamlogon_cache_store()・nt_to_afs_acl()・pdb_default_create_dom_group()・pdb_default_get_aliasinfo()・pdb_default_sid_to_id()・pdb_default_uid_to_rid()・pdb_set_group_sid()・pdb_set_group_sid_from_rid()・pdb_set_user_sid()・pdb_set_user_sid_from_rid()・print_ace()・print_alias_memberships()・print_map_entry()・print_sam_info()・print_sidlist()・query_user()・revoke_privilege()・rids_to_names()・rpccli_samr_open_domain()・sec_desc_print()・secrets_trusted_domains()・set_privileges()・sid_to_gid()・sid_to_name()・sid_to_uid()・smbacl4_fill_ace4()・smbacl4_nfs42win()・store_gid_sid_cache()・swap_sid_in_acl()・trustdom_cache_store()・uid_to_sid()・unpack_nt_owners()・vampire_trusted_domain()・vfs_get_ntquota()・vfs_get_user_ntquota_list()・vfs_set_ntquota()・wcache_cached_creds_exist()・wcache_get_creds()・wcache_remove_oldest_cached_creds()・wcache_save_name_to_sid()・winbind_lookup_rids()・winbind_lookup_sid()・winbindd_domain_info()・winbindd_dual_init_connection()・winbindd_dual_list_trusted_domains()・winbindd_dual_sid2gid()・winbindd_dual_userinfo()・winbindd_getgrent()・winbindd_getgrnam()・winbindd_getpwsid()・winbindd_gettoken_async()・winbindd_getuserdomgroups()・winbindd_lookupsid_async().
00205 { 00206 static fstring sid_str; 00207 sid_to_string(sid_str, sid); 00208 return sid_str; 00209 }
util_sid.c の 215 行で定義されています。
参照先 dom_sid::id_auth・dom_sid::num_auths・sid_append_rid()・dom_sid::sid_rev_num.
参照元 add_initial_entry()・ads_get_sid_from_extended_dn()・centry_sid()・check_info3_in_group()・cmd_lsa_lookup_sids()・cmd_lsa_query_trustdominfo()・cmd_lsa_query_trustdominfobysid()・cmd_samr_query_useraliases()・collect_aliasmem()・convert_string_to_sid()・enum_group_mapping()・find_builtin_domain()・get_group_map_from_gid()・get_group_map_from_ntname()・get_sid_from_input()・get_sid_from_name()・get_user_sids()・get_user_tokens_from_file()・getgrgid_recv()・getpwuid_recv()・idmap_cache_fill_map()・idmap_ldap_sids_to_unixids()・idmap_ldap_unixids_to_sids()・idmap_tdb_dump_one_entry()・idmap_tdb_id_to_sid()・init_child_recv()・init_dom_sid2s()・init_group_from_ldap()・ldapgroup2displayentry()・ldapsam_enum_aliasmem()・ldapsam_extract_rid_from_entry()・ldapuser2displayentry()・lookupname_recv()・lookupname_recv2()・lsa_lookup_sids()・main()・mappable_sid()・name_to_sid()・net_ads_sid()・net_groupmap_addmem()・net_groupmap_delmem()・net_groupmap_listmem()・net_groupmap_memberships()・net_groupmap_set()・net_idmap_restore()・net_lookup_sid()・net_sam_addmem()・net_sam_delmem()・net_setdomainsid()・net_setlocalsid()・net_usershare_add()・new_afs_ace()・new_user()・one_alias_membership()・parse_ace()・parse_sidlist()・parse_usershare_acl()・pdb_init_ldapsam()・pdb_set_user_sid_from_string()・priv_traverse_fn()・py_to_SID()・read_sid_from_file()・rpc_group_members_internals()・samr_open_domain()・set_user_info()・sid2gid_lookupsid_recv()・sid2uid_lookupsid_recv()・string_sid_talloc()・StringToSid()・token_contains_name()・trustdom_cache_fetch()・trustdom_recv()・wbinfo_lookuprids()・winbind_gid_to_sid()・winbind_lookup_name()・winbind_uid_to_sid()・winbindd_dual_getuserdomgroups()・winbindd_dual_lookuprids()・winbindd_dual_lookupsid()・winbindd_dual_set_mapping()・winbindd_dual_sid2gid()・winbindd_dual_sid2uid()・winbindd_dual_userinfo()・winbindd_getuserdomgroups()・winbindd_getusersids()・winbindd_lookuprids()・winbindd_lookupsid()・winbindd_set_mapping()・winbindd_sid_to_gid()・winbindd_sid_to_uid().
00216 { 00217 const char *p; 00218 char *q; 00219 /* BIG NOTE: this function only does SIDS where the identauth is not >= 2^32 */ 00220 uint32 conv; 00221 00222 if ((sidstr[0] != 'S' && sidstr[0] != 's') || sidstr[1] != '-') { 00223 DEBUG(3,("string_to_sid: Sid %s does not start with 'S-'.\n", sidstr)); 00224 return False; 00225 } 00226 00227 ZERO_STRUCTP(sidout); 00228 00229 /* Get the revision number. */ 00230 p = sidstr + 2; 00231 conv = (uint32) strtoul(p, &q, 10); 00232 if (!q || (*q != '-')) { 00233 DEBUG(3,("string_to_sid: Sid %s is not in a valid format.\n", sidstr)); 00234 return False; 00235 } 00236 sidout->sid_rev_num = (uint8) conv; 00237 q++; 00238 00239 /* get identauth */ 00240 conv = (uint32) strtoul(q, &q, 10); 00241 if (!q || (*q != '-')) { 00242 DEBUG(0,("string_to_sid: Sid %s is not in a valid format.\n", sidstr)); 00243 return False; 00244 } 00245 /* identauth in decimal should be < 2^32 */ 00246 /* NOTE - the conv value is in big-endian format. */ 00247 sidout->id_auth[0] = 0; 00248 sidout->id_auth[1] = 0; 00249 sidout->id_auth[2] = (conv & 0xff000000) >> 24; 00250 sidout->id_auth[3] = (conv & 0x00ff0000) >> 16; 00251 sidout->id_auth[4] = (conv & 0x0000ff00) >> 8; 00252 sidout->id_auth[5] = (conv & 0x000000ff); 00253 00254 q++; 00255 sidout->num_auths = 0; 00256 00257 for(conv = (uint32) strtoul(q, &q, 10); 00258 q && (*q =='-' || *q =='\0') && (sidout->num_auths < MAXSUBAUTHS); 00259 conv = (uint32) strtoul(q, &q, 10)) { 00260 sid_append_rid(sidout, conv); 00261 if (*q == '\0') 00262 break; 00263 q++; 00264 } 00265 00266 return True; 00267 }
DOM_SID* string_sid_talloc | ( | TALLOC_CTX * | mem_ctx, | |
const char * | sidstr | |||
) |
util_sid.c の 269 行で定義されています。
参照先 result・string_to_sid().
参照元 net_groupmap_memberships().
00270 { 00271 DOM_SID *result = TALLOC_P(mem_ctx, DOM_SID); 00272 00273 if (result == NULL) 00274 return NULL; 00275 00276 if (!string_to_sid(result, sidstr)) 00277 return NULL; 00278 00279 return result; 00280 }
util_sid.c の 286 行で定義されています。
参照先 dom_sid::num_auths・dom_sid::sub_auths.
参照元 _samr_create_dom_alias()・_samr_open_alias()・_samr_open_group()・_samr_open_user()・add_builtin_administrators()・check_info3_in_group()・construct_default_printer_sdb()・convert_fn()・create_builtin_administrators()・create_builtin_users()・create_token_from_username()・fetch_account_info()・fetch_alias_info()・fetch_group_info()・fetch_group_mem_info()・getpwsid_queryuser_recv()・gid_to_unix_groups_sid()・legacy_uid_to_sid()・lookup_global_sam_rid()・lookup_name()・lookup_rids()・lookup_unix_group_name()・lookup_unix_user_name()・lookup_usergroups()・lookup_usergroups_cached()・lookup_wellknown_name()・lsa_get_generic_sd()・make_default_reg_sd()・make_new_server_info_guest()・make_samr_object_sd()・make_server_info_info3()・net_groupmap_add()・net_groupmap_set()・netsamlogon_cache_store()・netsamlogon_clear_cached_user()・new_user()・nt_printing_getsec()・nt_token_check_domain_rid()・pdb_default_create_alias()・pdb_get_group_sid()・pdb_set_group_sid()・pdb_set_group_sid_from_rid()・pdb_set_user_sid_from_rid()・print_alias_memberships()・rpc_fetch_domain_aliases()・rpc_trustdom_del_internals()・rpccli_lsa_lookup_names()・samr_make_sam_obj_sd()・samu_set_unix_internal()・set_user_info()・sid_compose()・string_to_sid()・uid_to_unix_users_sid()・winbindd_dual_getsidaliases()・winbindd_dual_pam_auth()・winbindd_getgrent()・winbindd_store_creds().
00287 { 00288 if (sid->num_auths < MAXSUBAUTHS) { 00289 sid->sub_auths[sid->num_auths++] = rid; 00290 return True; 00291 } 00292 return False; 00293 }
util_sid.c の 295 行で定義されています。
参照先 domain_sid・sid_append_rid()・sid_copy().
参照元 _samr_create_dom_group()・_samr_create_user()・add_aliases()・idmap_rid_id_to_sid()・ldapsam_change_groupmem()・ldapsam_create_dom_group()・ldapsam_create_user()・ldapsam_delete_dom_group()・ldapsam_lookup_rids()・lookup_groupmem()・lookup_usergroups_cached()・make_server_info_info3()・map_unix_group()・msrpc_rids_to_names()・net_sam_provision()・pdb_create_builtin_alias()・pdb_default_add_groupmem()・pdb_default_create_dom_group()・pdb_default_del_groupmem()・pdb_default_delete_dom_group()・query_user()・query_user_list()・rids_to_names()・sam_lookup_groupmem()・sam_query_user_list()・winbindd_dual_pam_auth().
00296 { 00297 sid_copy(dst, domain_sid); 00298 return sid_append_rid(dst, rid); 00299 }
util_sid.c の 305 行で定義されています。
参照先 dom_sid::num_auths・dom_sid::sub_auths.
参照元 _net_sam_logon_internal()・_samr_query_userinfo()・add_expanded_sid()・create_token_from_username()・enum_group_mapping()・find_idmap_domain_from_sid()・lookup_lsa_rids()・lookup_lsa_sids()・lookup_name()・lookup_sids()・lookup_wellknown_sid()・non_mappable_sid()・rpc_add_aliasmem()・rpc_add_groupmem()・rpc_del_aliasmem()・rpc_del_groupmem()・sid_check_is_in_builtin()・sid_check_is_in_our_domain()・sid_check_is_in_unix_groups()・sid_check_is_in_unix_users()・sid_check_is_in_wellknown_domain()・winbindd_getgrnam().
00306 { 00307 if (sid->num_auths > 0) { 00308 sid->num_auths--; 00309 *rid = sid->sub_auths[sid->num_auths]; 00310 return True; 00311 } 00312 return False; 00313 }
util_sid.c の 319 行で定義されています。
参照先 dom_sid::num_auths・dom_sid::sub_auths.
参照元 fill_grent_mem()・get_domain_group_from_sid()・idmap_rid_sid_to_id()・ldapsam_extract_rid_from_entry()・lookup_global_sam_name()・net_sam_createbuiltingroup()・next_entry_groups()・pdb_default_enum_group_members()・pdb_default_get_aliasinfo()・pdb_enum_group_members()・pdb_get_dom_grp_info()・sid_peek_check_rid()・wcache_cached_creds_exist()・wcache_get_creds()・wcache_save_creds().
00320 { 00321 if (!sid || !rid) 00322 return False; 00323 00324 if (sid->num_auths > 0) { 00325 *rid = sid->sub_auths[sid->num_auths - 1]; 00326 return True; 00327 } 00328 return False; 00329 }
util_sid.c の 336 行で定義されています。
参照先 dom_sid::num_auths・sid_compare_domain()・sid_peek_rid().
参照元 _net_sam_logon_internal()・_samr_add_groupmem()・_samr_del_groupmem()・_samr_delete_dom_group()・_samr_query_usergroups()・enum_dom_groups()・init_ldap_from_sam()・init_sam_user_info21A()・ldapgroup2displayentry()・ldapsam_get_ldap_user_by_sid()・ldapuser2displayentry()・legacy_sid_to_gid()・legacy_sid_to_uid()・lookup_groupmem()・lookup_usergroups()・nt_token_to_group_list()・pdb_default_alias_memberships()・pdb_default_create_user()・pdb_default_sid_to_id()・pdb_default_uid_to_rid()・pdb_get_group_rid()・pdb_get_user_rid()・pdb_getsampwsid()・query_user()・rpc_sh_handle_user()・sid_to_gid()・sid_to_uid()・tdbsam_getsampwsid()・winbindd_dual_userinfo().
00337 { 00338 if (!exp_dom_sid || !sid || !rid) 00339 return False; 00340 00341 if (sid->num_auths != (exp_dom_sid->num_auths+1)) { 00342 return False; 00343 } 00344 00345 if (sid_compare_domain(exp_dom_sid, sid)!=0){ 00346 *rid=(-1); 00347 return False; 00348 } 00349 00350 return sid_peek_rid(sid, rid); 00351 }
util_sid.c の 357 行で定義されています。
参照先 dom_sid::id_auth・dom_sid::num_auths・dom_sid::sid_rev_num・dom_sid::sub_auths.
参照元 _lsa_add_acct_rights()・_lsa_enum_acct_rights()・_lsa_open_policy()・_lsa_open_policy2()・_lsa_remove_acct_rights()・_net_sam_logon_internal()・_samr_create_dom_alias()・_samr_lookup_domain()・_samr_open_group()・_samr_query_useraliases()・_samr_remove_sid_foreign_domain()・add_builtin_administrators()・add_expanded_sid()・add_sid_to_array()・add_sid_to_token()・cac_LsaFetchSid()・canonicalise_acl()・check_info3_in_group()・cmd_samr_query_useraliases()・construct_default_printer_sdb()・convert_fn()・convert_string_to_sid()・create_token_from_username()・del_sid_from_array()・dump_pac_logon_info()・enum_group_mapping()・fetch_account_info()・fetch_alias_info()・fetch_group_info()・fetch_group_mem_info()・fetch_machine_sid()・find_forced_group()・find_idmap_domain_from_sid()・get_domain_group_from_sid()・get_group_map_from_sid()・get_nt_acl()・get_sam_user_entries()・get_samr_dispinfo_by_sid()・get_samr_info_by_sid()・get_sid_from_name()・getgroups_usersid_recv()・getpwsid_queryuser_recv()・gid_to_unix_groups_sid()・init_sec_ace()・init_user_token()・legacy_uid_to_sid()・lookup_global_sam_name()・lookup_global_sam_rid()・lookup_groupmem()・lookup_lsa_sids()・lookup_name()・lookup_rids()・lookup_sids()・lookup_unix_group_name()・lookup_unix_user_name()・lookup_usergroups()・lookup_usergroups_cached()・lookup_wellknown_name()・lookup_wellknown_sid()・lsa_get_generic_sd()・make_connection_snum()・make_default_reg_sd()・make_new_server_info_guest()・make_samr_object_sd()・make_server_info_info3()・msrpc_lookup_useraliases()・msrpc_name_to_sid()・name_to_sid()・net_groupmap_add()・net_groupmap_set()・net_rpc_lookup_name()・netsamlogon_cache_store()・netsamlogon_clear_cached_user()・new_afs_ace()・new_user()・non_mappable_sid()・nt_token_check_domain_rid()・pdb_create_builtin_alias()・pdb_default_create_alias()・pdb_default_find_alias()・pdb_default_gid_to_sid()・pdb_default_uid_to_sid()・pdb_generate_sam_sid()・pdb_get_group_sid()・pdb_init_ldapsam()・pdb_init_ldapsam_compat()・pdb_set_group_sid()・pdb_set_group_sid_from_rid()・pdb_set_user_sid()・pdb_set_user_sid_from_rid()・print_alias_memberships()・query_user()・rpc_add_aliasmem()・rpc_add_groupmem()・rpc_del_aliasmem()・rpc_del_groupmem()・rpc_fetch_domain_aliases()・rpc_trustdom_del_internals()・rpccli_ds_enum_domain_trusts()・rpccli_lsa_enum_sids()・rpccli_lsa_enum_trust_dom()・rpccli_lsa_lookup_names()・rpccli_lsa_query_info_policy()・rpccli_lsa_query_info_policy2()・rpccli_samr_lookup_domain()・sam_query_user()・sam_trusted_domains()・samr_make_sam_obj_sd()・samu_set_unix_internal()・sec_ace_add_sid()・sec_ace_copy()・secrets_fetch_trusted_domain_password()・secrets_store_trusted_domain_password()・secrets_trusted_domains()・set_dc_type_and_flags()・set_user_info()・sid_check_is_in_builtin()・sid_check_is_in_our_domain()・sid_check_is_in_unix_groups()・sid_check_is_in_unix_users()・sid_check_is_in_wellknown_domain()・sid_compose()・sid_dup_talloc()・smbacl4_nfs42win()・store_gid_sid_cache()・store_uid_sid_cache()・StringToSid()・swap_sid_in_acl()・trustdom_recv()・trusted_domains()・uid_to_unix_users_sid()・unpack_nt_owners()・winbind_gid_to_sid()・winbind_sids_to_unixids()・winbind_uid_to_sid()・winbindd_dual_getsidaliases()・winbindd_dual_pam_auth()・winbindd_getgrent()・winbindd_getgrnam()・winbindd_getpwsid()・winbindd_gettoken_async()・winbindd_store_creds().
00358 { 00359 int i; 00360 00361 ZERO_STRUCTP(dst); 00362 00363 dst->sid_rev_num = src->sid_rev_num; 00364 dst->num_auths = src->num_auths; 00365 00366 memcpy(&dst->id_auth[0], &src->id_auth[0], sizeof(src->id_auth)); 00367 00368 for (i = 0; i < src->num_auths; i++) 00369 dst->sub_auths[i] = src->sub_auths[i]; 00370 }
util_sid.c の 376 行で定義されています。
参照先 dom_sid::id_auth・dom_sid::num_auths・dom_sid::sid_rev_num・sid_size()・dom_sid::sub_auths.
参照元 call_nt_transact_get_user_quota()・call_trans2qfsinfo()・cli_get_user_quota()・cli_set_user_quota()・send_getdc_request()・sid_binstring()・sid_binstring_hex().
00377 { 00378 size_t i; 00379 00380 if (len < sid_size(sid)) 00381 return False; 00382 00383 SCVAL(outbuf,0,sid->sid_rev_num); 00384 SCVAL(outbuf,1,sid->num_auths); 00385 memcpy(&outbuf[2], sid->id_auth, 6); 00386 for(i = 0; i < sid->num_auths; i++) 00387 SIVAL(outbuf, 8 + (i*4), sid->sub_auths[i]); 00388 00389 return True; 00390 }
util_sid.c の 396 行で定義されています。
参照先 dom_sid::id_auth・dom_sid::num_auths・dom_sid::sid_rev_num・dom_sid::sub_auths.
参照元 ads_get_sid_from_extended_dn()・ads_pull_sid()・ads_pull_sids()・call_nt_transact_get_user_quota()・call_nt_transact_ioctl()・call_nt_transact_set_user_quota()・dump_sid()・parse_user_quota_record().
00397 { 00398 int i; 00399 if (len < 8) 00400 return False; 00401 00402 ZERO_STRUCTP(sid); 00403 00404 sid->sid_rev_num = CVAL(inbuf, 0); 00405 sid->num_auths = CVAL(inbuf, 1); 00406 memcpy(sid->id_auth, inbuf+2, 6); 00407 if (len < 8 + sid->num_auths*4) 00408 return False; 00409 for (i=0;i<sid->num_auths;i++) 00410 sid->sub_auths[i] = IVAL(inbuf, 8+i*4); 00411 return True; 00412 }
util_sid.c の 418 行で定義されています。
参照先 dom_sid::id_auth・dom_sid::sid_rev_num.
参照元 sid_compare()・sid_compare_domain().
00419 { 00420 int i; 00421 00422 if (sid1 == sid2) 00423 return 0; 00424 if (!sid1) 00425 return -1; 00426 if (!sid2) 00427 return 1; 00428 00429 if (sid1->sid_rev_num != sid2->sid_rev_num) 00430 return sid1->sid_rev_num - sid2->sid_rev_num; 00431 00432 for (i = 0; i < 6; i++) 00433 if (sid1->id_auth[i] != sid2->id_auth[i]) 00434 return sid1->id_auth[i] - sid2->id_auth[i]; 00435 00436 return 0; 00437 }
util_sid.c の 443 行で定義されています。
参照先 dom_sid::num_auths・sid_compare_auth()・dom_sid::sub_auths.
参照元 ace_compare()・add_sid_to_array_unique()・collect_aliasmem()・del_aliasmem()・fetch_gid_from_cache()・fetch_uid_from_cache()・is_alias_member()・is_aliasmem()・is_sid_in_token()・mappable_sid()・same_principal()・sec_ace_del_sid()・sec_ace_mod_sid()・sid_equal().
00444 { 00445 int i; 00446 00447 if (sid1 == sid2) 00448 return 0; 00449 if (!sid1) 00450 return -1; 00451 if (!sid2) 00452 return 1; 00453 00454 /* Compare most likely different rids, first: i.e start at end */ 00455 if (sid1->num_auths != sid2->num_auths) 00456 return sid1->num_auths - sid2->num_auths; 00457 00458 for (i = sid1->num_auths-1; i >= 0; --i) 00459 if (sid1->sub_auths[i] != sid2->sub_auths[i]) 00460 return sid1->sub_auths[i] - sid2->sub_auths[i]; 00461 00462 return sid_compare_auth(sid1, sid2); 00463 }
util_sid.c の 470 行で定義されています。
参照先 dom_sid::num_auths・sid_compare_auth()・dom_sid::sub_auths.
参照元 fill_grent_mem()・find_domain_from_sid_noinit()・idmap_can_map()・ldapsam_extract_rid_from_entry()・mappable_sid()・sid_peek_check_rid().
00471 { 00472 int n, i; 00473 00474 n = MIN(sid1->num_auths, sid2->num_auths); 00475 00476 for (i = n-1; i >= 0; --i) 00477 if (sid1->sub_auths[i] != sid2->sub_auths[i]) 00478 return sid1->sub_auths[i] - sid2->sub_auths[i]; 00479 00480 return sid_compare_auth(sid1, sid2); 00481 }
util_sid.c の 487 行で定義されています。
参照先 sid_compare().
参照元 _samr_create_dom_alias()・_samr_create_dom_group()・_samr_open_group()・_samr_query_sec_obj()・_samr_set_sec_obj()・cacl_set()・change_share_sec()・check_owning_objs()・del_sid_from_array()・enum_group_mapping()・fetch_alias_info()・fill_grent_mem()・find_map_by_sid()・getgroups_sid2gid_recv()・identity_in_ace_equal()・init_dom_ref()・is_null_sid()・lookup_as_domain()・lookup_sids()・lookup_wellknown_sid()・merge_default_aces()・non_mappable_sid()・nt_printing_getsec()・nt_token_check_sid()・pdb_generate_sam_sid()・pdb_getsampwsid()・pdb_init_ldapsam()・pdb_user_in_group()・process_deny_list()・rpc_vampire_internals()・se_access_check()・sec_ace_equal()・sec_desc_equal()・sid_check_is_builtin()・sid_check_is_domain()・sid_check_is_in_our_domain()・sid_check_is_unix_groups()・sid_check_is_unix_users()・sid_check_is_wellknown_domain()・smbacl4_fill_ace4()・swap_sid_in_acl()・token_sid_in_ace()・uid_entry_in_group()・winbindd_getgrnam().
00488 { 00489 return sid_compare(sid1, sid2) == 0; 00490 }
size_t sid_size | ( | const DOM_SID * | sid | ) |
util_sid.c の 496 行で定義されています。
参照先 dom_sid::num_auths.
参照元 call_nt_transact_get_user_quota()・call_trans2qfsinfo()・cli_get_user_quota()・cli_set_user_quota()・init_sec_ace()・make_sec_desc()・py_to_ACE()・sec_ace_add_sid()・sec_desc_size()・sec_io_desc()・send_getdc_request()・sid_binstring()・sid_binstring_hex()・sid_linearize().
00497 { 00498 if (sid == NULL) 00499 return 0; 00500 00501 return sid->num_auths * sizeof(uint32) + 8; 00502 }
util_sid.c の 508 行で定義されています。
参照先 global_sid_Builtin・global_sid_NT_Authority・sid_copy()・sid_equal()・sid_split_rid().
00509 { 00510 DOM_SID dom; 00511 uint32 rid; 00512 00513 sid_copy(&dom, sid); 00514 sid_split_rid(&dom, &rid); 00515 00516 if (sid_equal(&dom, &global_sid_Builtin)) 00517 return True; 00518 00519 if (sid_equal(&dom, &global_sid_NT_Authority)) 00520 return True; 00521 00522 return False; 00523 }
char* sid_binstring | ( | const DOM_SID * | sid | ) |
util_sid.c の 530 行で定義されています。
参照先 binary_string_rfc2254()・buf・len・sid_linearize()・sid_size().
参照元 idmap_ad_sids_to_unixids()・lookup_groupmem()・query_user().
00531 { 00532 char *buf, *s; 00533 int len = sid_size(sid); 00534 buf = (char *)SMB_MALLOC(len); 00535 if (!buf) 00536 return NULL; 00537 sid_linearize(buf, len, sid); 00538 s = binary_string_rfc2254(buf, len); 00539 free(buf); 00540 return s; 00541 }
char* sid_binstring_hex | ( | const DOM_SID * | sid | ) |
util_sid.c の 548 行で定義されています。
参照先 binary_string()・buf・len・sid_linearize()・sid_size().
00549 { 00550 char *buf, *s; 00551 int len = sid_size(sid); 00552 buf = (char *)SMB_MALLOC(len); 00553 if (!buf) 00554 return NULL; 00555 sid_linearize(buf, len, sid); 00556 s = binary_string(buf, len); 00557 free(buf); 00558 return s; 00559 }
DOM_SID* sid_dup_talloc | ( | TALLOC_CTX * | ctx, | |
const DOM_SID * | src | |||
) |
util_sid.c の 565 行で定義されています。
参照先 sid_copy().
参照元 make_sec_desc().
00566 { 00567 DOM_SID *dst; 00568 00569 if(!src) 00570 return NULL; 00571 00572 if((dst = TALLOC_ZERO_P(ctx, DOM_SID)) != NULL) { 00573 sid_copy( dst, src); 00574 } 00575 00576 return dst; 00577 }
BOOL add_sid_to_array | ( | TALLOC_CTX * | mem_ctx, | |
const DOM_SID * | sid, | |||
DOM_SID ** | sids, | |||
size_t * | num | |||
) |
util_sid.c の 583 行で定義されています。
参照先 sid_copy().
参照元 add_builtin_administrators()・add_sid_to_array_unique()・cmd_samr_query_useraliases()・collect_aliasmem()・create_local_nt_token()・gettoken_recvaliases()・gettoken_recvdomgroups()・ldapsam_enum_aliasmem()・lookup_usergroups()・lookup_usergroups_cached()・lookup_usergroups_member()・lookup_usergroups_memberof()・make_server_info_info3()・parse_sidlist()・priv_traverse_fn()・winbindd_dual_getsidaliases().
00585 { 00586 *sids = TALLOC_REALLOC_ARRAY(mem_ctx, *sids, DOM_SID, 00587 (*num)+1); 00588 if (*sids == NULL) { 00589 *num = 0; 00590 return False; 00591 } 00592 00593 sid_copy(&((*sids)[*num]), sid); 00594 *num += 1; 00595 00596 return True; 00597 }
BOOL add_sid_to_array_unique | ( | TALLOC_CTX * | mem_ctx, | |
const DOM_SID * | sid, | |||
DOM_SID ** | sids, | |||
size_t * | num_sids | |||
) |
util_sid.c の 604 行で定義されています。
参照先 add_sid_to_array()・sid_compare().
参照元 add_aliases()・create_local_nt_token()・create_token_from_username()・lookup_usergroups()・make_server_info_pw()・make_server_info_sam()・one_alias_membership().
00606 { 00607 size_t i; 00608 00609 for (i=0; i<(*num_sids); i++) { 00610 if (sid_compare(sid, &(*sids)[i]) == 0) 00611 return True; 00612 } 00613 00614 return add_sid_to_array(mem_ctx, sid, sids, num_sids); 00615 }
util_sid.c の 621 行で定義されています。
参照先 sid_copy()・sid_equal().
00622 { 00623 DOM_SID *sid_list = *sids; 00624 size_t i; 00625 00626 for ( i=0; i<*num; i++ ) { 00627 00628 /* if we find the SID, then decrement the count 00629 and break out of the loop */ 00630 00631 if ( sid_equal(sid, &sid_list[i]) ) { 00632 *num -= 1; 00633 break; 00634 } 00635 } 00636 00637 /* This loop will copy the remainder of the array 00638 if i < num of sids ni the array */ 00639 00640 for ( ; i<*num; i++ ) 00641 sid_copy( &sid_list[i], &sid_list[i+1] ); 00642 00643 return; 00644 }
BOOL add_rid_to_array_unique | ( | TALLOC_CTX * | mem_ctx, | |
uint32 | rid, | |||
uint32 ** | pp_rids, | |||
size_t * | p_num | |||
) |
util_sid.c の 646 行で定義されています。
参照元 msrpc_lookup_useraliases().
00648 { 00649 size_t i; 00650 00651 for (i=0; i<*p_num; i++) { 00652 if ((*pp_rids)[i] == rid) 00653 return True; 00654 } 00655 00656 *pp_rids = TALLOC_REALLOC_ARRAY(mem_ctx, *pp_rids, uint32, *p_num+1); 00657 00658 if (*pp_rids == NULL) { 00659 *p_num = 0; 00660 return False; 00661 } 00662 00663 (*pp_rids)[*p_num] = rid; 00664 *p_num += 1; 00665 return True; 00666 }
const DOM_SID global_sid_World |
初期値:
{ 1, 0, {0,0,0,0,0,5}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}
util_sid.c の 39 行で定義されています。
参照元 non_mappable_sid().
const DOM_SID global_sid_System |
const DOM_SID global_sid_NULL |
const DOM_SID global_sid_Network |
初期値:
{ 1, 1, {0,0,0,0,0,3}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}
util_sid.c の 50 行で定義されています。
参照元 get_nt_acl().
初期値:
{ 1, 1, {0,0,0,0,0,3}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}
util_sid.c の 52 行で定義されています。
参照元 get_nt_acl().
const DOM_SID global_sid_Anonymous |
const DOM_SID global_sid_Builtin |
初期値:
{ 1, 1, {0,0,0,0,0,5}, {32,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}
util_sid.c の 57 行で定義されています。
参照元 _samr_lookup_domain()・_samr_query_sec_obj()・cmd_samr_delete_alias()・cmd_samr_enum_als_groups()・cmd_samr_lookup_names()・cmd_samr_lookup_rids()・cmd_samr_query_aliasmem()・cmd_samr_query_useraliases()・fetch_alias_info()・get_samr_dispinfo_by_sid()・init_domain_list()・ldapgroup2displayentry()・lookup_name()・lsa_get_generic_sd()・make_default_reg_sd()・net_sam_list_builtin()・non_mappable_sid()・pdb_create_builtin_alias()・pdb_default_sid_to_id()・rpc_aliaslist_internals()・rpc_group_list_internals()・rpc_vampire_internals()・samr_make_sam_obj_sd()・sid_check_is_builtin().
const DOM_SID global_sid_Unix_Users |
初期値:
{ 1, 1, {0,0,0,0,0,22}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}
util_sid.c の 80 行で定義されています。
参照元 lookup_unix_user_name()・pdb_default_sid_to_id()・sid_check_is_unix_users()・sid_to_uid()・uid_to_unix_users_sid().
初期値:
{ 1, 1, {0,0,0,0,0,22}, {2,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}
util_sid.c の 82 行で定義されています。
参照元 gid_to_unix_groups_sid()・lookup_unix_group_name()・pdb_default_sid_to_id()・sid_check_is_unix_groups()・sid_to_gid().
DOM_SID anon_sid_array[3] [static] |
初期値:
{ { 1, 1, {0,0,0,0,0,1}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}, { 1, 1, {0,0,0,0,0,5}, {2,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}, { 1, 1, {0,0,0,0,0,5}, {7,0,0,0,0,0,0,0,0,0,0,0,0,0,0}} }
util_sid.c の 98 行で定義されています。
NT_USER_TOKEN anonymous_token = { 3, anon_sid_array, SE_NONE } |
DOM_SID system_sid_array[1] [static] |
NT_USER_TOKEN system_token = { 1, system_sid_array, SE_ALL_PRIVS } |
enum lsa_SidType sid_type |
const char* string |
util_sid.c の 114 行で定義されています。
参照元 account_policy_name_to_fieldnum()・account_policy_names_list()・ads_dump_field()・ads_process_results()・cac_MakeAliasInfo()・decode_account_policy_name()・display_time()・dump_regval_buffer()・dump_regval_type()・getprinterdata_printer_server()・main()・make_monitorui_buf()・size_of_relative_string()・sizeof_unistr2()・smb_io_lsa_string()・smb_io_relstr()・talloc_string_sub()・unpack_values()・web_set_lang().
struct { ... } sid_name_type[] [static] |
参照元 sid_type_lookup().