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:
parent
95edb3c67f
commit
d319c0e189
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user