Groupmapping不适用于AD组

我们有一个ActiveDirectory,我们从中获得用户。 所以Linux机器上的身份validation在pam上起作用。

我们pipe理这部分工作到目前为止, 但我们需要所有用户成为本地组“用户”的一部分 。 就我所了解的组映射而言,这是有效的。

我的SID是:

SID for local machine MYSERVER is: S-1-5-21-1487948860-3705201071-3703638889 SID for domain MYDOMAIN is: S-1-5-21-1960408961-115176313-682003330 

我创build了组映射:

 myserver:~# net groupmap add ntgroup="Domain Users" rid=513 unixgroup=users 

组映像看起来像这样:

 myserver:~# net groupmap list -v Domain Users SID : S-1-5-21-1487948860-3705201071-3703638889-513 Unix gid : 100 Unix group: users Group type: Domain Group Comment : Domain Unix group Administrators SID : S-1-5-32-544 Unix gid : 10029 Unix group: BUILTIN\administrators Group type: Local Group Comment : Users SID : S-1-5-32-545 Unix gid : 12929 Unix group: BUILTIN\users Group type: Local Group Comment : 

但是,当我作为AD用户login时,我不在组用户中。 所有AD组都显示正确,还显示组“BUILTIN \ users”和“BUILTIN \ administrator”,但没有组“用户”

我也试过了

 myserver:~# net groupmap delete ntgroup="Domain Users" myserver:~# net groupmap delete ntgroup="Users" myserver:~# net groupmap add ntgroup="Users" rid=545 unixgroup=users 

但是这似乎没有效果(smbd重启,winbindd重启执行)。 用户仍然在“BUILTIN \ users”组中,并且没有“用户”条目

我想我错过了一些重要的configuration步骤,但不知道这可能是什么。 任何帮助,高度赞赏!

我们在SLES 11内核3.0.76上使用samba版本3.6.3

==编辑== 07.04.2016 15:34

我试图映射两个非标准组。 AD组是grp_production,本地linux组应该是游戏

 myserver:~# net groupmap add ntgroup="grp_production" rid=20443 unixgroup=games 

结果是

 myserver:~# net groupmap list -v .. grp_production (S-1-5-21-1960408961-115176313-682003330-20443) -> games .. 

然后我在Linux机器上以用户身份(AD组grp_production的成员)login。

 myserver:~# groups | grep games 

没有游戏小组find:-(

==编辑08.04.2016 07:39 ==
我在日志中发现的唯一错误是/var/log/samba/log.winbindd-idmap

 [2016/04/07 13:54:25.146170, 1] ../librpc/ndr/ndr.c:284(ndr_print_function_debug) wbint_Sid2Gid: struct wbint_Sid2Gid in: struct wbint_Sid2Gid dom_name : NULL sid : * sid : S-1-5-21-1960408961-115176313-682003330-28693 [2016/04/07 13:54:25.146221, 10] winbindd/idmap_util.c:234(idmap_sid_to_gid) idmap_sid_to_gid: sid = [S-1-5-21-1960408961-115176313-682003330-28693], domain = '' [2016/04/07 13:54:25.146247, 10] winbindd/idmap.c:507(idmap_backends_sid_to_unixid) idmap_backends_sid_to_unixid: domain = '', sid = [S-1-5-21-1960408961-115176313-682003330-28693] [2016/04/07 13:54:25.146267, 10] winbindd/idmap.c:376(idmap_find_domain) idmap_find_domain called for domain '' [2016/04/07 13:54:25.146290, 1] winbindd/idmap.c:209(idmap_init_domain) invalid range '100' specified for domain '*' [2016/04/07 13:54:25.146308, 10] winbindd/idmap_util.c:260(idmap_sid_to_gid) idmap_backends_sid_to_unixid failed: NT_STATUS_NONE_MAPPED [2016/04/07 13:54:25.146330, 10] lib/gencache.c:183(gencache_set_data_blob) Adding cache entry with key = IDMAP/SID2GID/S-1-5-21-1960408961-115176313-682003330-28693 and timeout = Thu Apr 7 13:56:25 2016 

我'grepped'所有日志“游戏”和“grp_production”没有结果。

他们对于内build团体是非常熟悉的 – 但是我认为如果有一个领域的信任,那么他们可以被抵消,也就是说有两个或更多BUILTIN / users

你可以在Powershell中validationAD组的sid吗?

 Get-ADGroup -Identity users | select sid 

查看在samba服务器上列出用户是否有任何问题

 net usersidlist 

另一件事是 – 用户组已经映射到了什么?

 net groupmap list 

如果该组已经映射到某个东西,那么您不会传递rid值,rid用于“添加”组,如果您只是“修改”

  net groupmap modify ntgroup='Domain Users' unixgroup='users'