1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00

r4964: Fix our lsa lookupsid $OURDOMAINSID-500.

Give the admin-user (rid 500) a chance to be found in passdb, not
returning the (possibly obscure) first entry of "admin users" before
that.

Guenther
This commit is contained in:
Günther Deschner 2005-01-24 17:29:12 +00:00 committed by Gerald (Jerry) Carter
parent 95edb3c67f
commit d319c0e189

View File

@ -759,24 +759,11 @@ BOOL local_lookup_sid(const DOM_SID *sid, char *name, enum SID_NAME_USE *psid_na
DEBUG(5,("local_lookup_sid: looking up RID %u.\n", (unsigned int)rid));
if (rid == DOMAIN_USER_RID_ADMIN) {
const char **admin_list = lp_admin_users(-1);
*psid_name_use = SID_NAME_USER;
if (admin_list) {
const char *p = *admin_list;
if(!next_token(&p, name, NULL, sizeof(fstring)))
fstrcpy(name, "Administrator");
} else {
fstrcpy(name, "Administrator");
}
return True;
}
/* see if the passdb can help us with the name of the user */
if (!NT_STATUS_IS_OK(pdb_init_sam(&sam_account))) {
return False;
}
/* see if the passdb can help us with the name of the user */
/* BEING ROOT BLLOCK */
become_root();
@ -807,6 +794,20 @@ BOOL local_lookup_sid(const DOM_SID *sid, char *name, enum SID_NAME_USE *psid_na
return True;
}
if (rid == DOMAIN_USER_RID_ADMIN) {
const char **admin_list = lp_admin_users(-1);
*psid_name_use = SID_NAME_USER;
if (admin_list) {
const char *p = *admin_list;
if(!next_token(&p, name, NULL, sizeof(fstring))) {
fstrcpy(name, "Administrator");
}
} else {
fstrcpy(name, "Administrator");
}
return True;
}
if (algorithmic_pdb_rid_is_user(rid)) {
uid_t uid;
struct passwd *pw = NULL;