diff options
Diffstat (limited to 'source/passdb/pdb_interface.c')
-rw-r--r-- | source/passdb/pdb_interface.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/source/passdb/pdb_interface.c b/source/passdb/pdb_interface.c index ba251bc4cfb..66eb87752b1 100644 --- a/source/passdb/pdb_interface.c +++ b/source/passdb/pdb_interface.c @@ -1287,6 +1287,27 @@ static BOOL pdb_default_sid_to_id(struct pdb_methods *methods, goto done; } + /* check for "Unix User" */ + + if ( sid_peek_check_rid(&global_sid_Unix_Users, sid, &rid) ) { + id->uid = rid; + *type = SID_NAME_USER; + ret = True; + goto done; + } + + /* check for "Unix User" */ + + if ( sid_peek_check_rid(&global_sid_Unix_Groups, sid, &rid) ) { + id->gid = rid; + *type = SID_NAME_ALIAS; + ret = True; + goto done; + } + + + /* BUILTIN */ + if (sid_peek_check_rid(&global_sid_Builtin, sid, &rid)) { /* Here we only have aliases */ GROUP_MAP map; @@ -1309,7 +1330,7 @@ static BOOL pdb_default_sid_to_id(struct pdb_methods *methods, goto done; } - DEBUG(5, ("Sid %s is neither ours nor builtin, don't know it\n", + DEBUG(5, ("Sid %s is neither ours, a Unix SID, nor builtin\n", sid_string_static(sid))); done: |