r14403: * modifies create_local_nt_token() to create a BUILTIN\Administrators
commit1346186ea8828c32255e49a4e2398ae9567d018d
authorGerald Carter <jerry@samba.org>
Wed, 15 Mar 2006 00:10:38 +0000 (15 00:10 +0000)
committerGerald Carter <jerry@samba.org>
Wed, 15 Mar 2006 00:10:38 +0000 (15 00:10 +0000)
tree77ee66ec1aae508ab610531dab1e16c232166945
parent5c35ef3c05565f0b4241c194442ef0b262e0dd48
r14403: * modifies create_local_nt_token() to create a BUILTIN\Administrators
  group IFF sid_to_gid(S-1-5-32-544) fails and 'winbind nested groups = yes'

* Add a SID domain to the group mapping enumeration passdb call
  to fix the checks for local and builtin groups.  The SID can be
  NULL if you want the old semantics for internal maintenance.
  I only updated the tdb group mapping code.

* remove any group mapping from the tdb that have a
  gid of -1 for better consistency with pdb_ldap.c.
  The fixes the problem with calling add_group_map() in
  the tdb code for unmapped groups which might have had
  a record present.

* Ensure that we distinguish between groups in the
  BUILTIN and local machine domains via getgrnam()
  Other wise BUILTIN\Administrators & SERVER\Administrators
  would resolve to the same gid.

* Doesn't strip the global_sam_name() from groups in the
  local machine's domain (this is required to work with
  'winbind default domain' code)

Still todo.

* Fix fallback Administrators membership for root and domain Admins
  if nested groups = no or winbindd is not running

* issues with "su - user -c 'groups'" command

* There are a few outstanding issues with BUILTIN\Users that
  Windows apparently tends to assume.  I worked around this
  presently with a manual group mapping but I do not think
  this is a good solution.  So I'll probably add some similar
  as I did for Administrators.
14 files changed:
source/auth/auth_util.c
source/groupdb/mapping.c
source/include/passdb.h
source/nsswitch/winbindd_dual.c
source/nsswitch/winbindd_group.c
source/nsswitch/winbindd_pam.c
source/nsswitch/winbindd_passdb.c
source/nsswitch/winbindd_user.c
source/nsswitch/winbindd_util.c
source/passdb/pdb_interface.c
source/passdb/pdb_ldap.c
source/rpc_server/srv_lsa_nt.c
source/rpc_server/srv_samr_nt.c
source/utils/net_groupmap.c