O mapeamento de grupos não funciona para grupos do AD

3

Temos um ActiveDirectory de onde obtemos nossos usuários. Então a autenticação na máquina linux funciona em pam.

Conseguimos que esta parte funcione até agora, mas precisamos que todos os usuários façam parte do grupo local "users" . Isso funciona tanto quanto eu entendo com o mapeamento de grupo.

Meus SIDs são:

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

Eu criei o mapeamento de grupo com:

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

O mapeamento de grupo é assim:

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   :

Mas quando eu faço login como um usuário do AD, não estou nos usuários do grupo. Todos os grupos AD são mostrados corretamente e também os grupos "BUILTIN \ users" e "BUILTIN \ administrator" são mostrados, mas nenhum grupo "users"

Eu também tentei

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

Mas isso parece não ter efeito (smbd restart, winbindd restart executado). O usuário ainda está no grupo "BUILTIN \ users" e não tem entrada para "usuários"

Acho que perdi algumas etapas importantes da configuração, mas não sei o que isso poderia ser. Qualquer ajuda é muito apreciada!

Usamos o samba versão 3.6.3 em um kernel SLES 11 3.0.76

== EDIT == 07.04.2016 15:34

Eu tentei mapear dois grupos não padrão. Grupo AD é grp_production, grupo linux local deve ser jogos

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

O resultado é

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

Então eu faço o login como usuário (membro do grp_production do grupo AD) na máquina linux.

myserver:~# groups | grep games

Nenhum grupo de jogos para encontrar :-(

== EDIT 08.04.2016 07:39 ==
O único erro que encontrei nos logs foi em /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

Eu 'grepped' log de todos os "jogos" e "grp_production" sem nenhum resultado.

    
por Alexander Baltasar 05.04.2016 / 10:56

2 respostas

0

Eles são bem conhecidos sids para grupos internos - mas eu acho que eles podem ser compensados se houver uma confiança de domínio, que é onde há 2 ou mais BUILTIN / users

você pode verificar o sid do grupo AD em Powershell

Get-ADGroup -Identity users | select sid

veja se há algum problema com a listagem de usuários no servidor samba

net usersidlist

outra coisa é: o grupo de usuários já está mapeado para algo?

net groupmap list

se o grupo já está mapeado para alguma coisa, então você não passa o valor de livrado, livrado é usado para 'adicionar' grupo, elimine a opção se você está apenas 'modificando'

 net groupmap modify ntgroup='Domain Users' unixgroup='users'
    
por 07.04.2016 / 13:51
0

Seu comando net groupmap add adicionou o prefixo SID da máquina local ao seu RID, então, na verdade, mapeou o grupo "Usuários do Domínio" de sua máquina local, o que não faz sentido.

Diga ao comando net que seu RID se refere ao domínio, especificando a opção type apropriada:

net groupmap add ntgroup="Domain Users" rid=513 type=domain unixgroup=users

ou especifique o SID completo:

net groupmap add ntgroup="Domain Users" sid=S-1-5-21-1960408961-115176313-513 unixgroup=users

Você pode ter que excluir o mapeamento errado primeiro.

    
por 21.09.2018 / 18:19