Domínio cruzado - alterações na associação do grupo AD não são refletidas no winbind

1

Eu tenho casos semelhantes neste tópico em associação ao grupo AD mudanças não refletidas nas informações do winbind . A única diferença é que isso ocorre apenas em "domínio cruzado" para o meu cenário.

Aqui está minha configuração - link ...

Gostaria que alguém me iluminasse:

(1) como deixar o comando "id" refletir a associação de grupo correta.

(2) como posso fazer o Winbind refletir a associação ao grupo automaticamente? uma vez que haja alterações foram feitas no Active Directory.

Obrigado!

    
por James W. 24.06.2015 / 09:02

2 respostas

1

Antes de tentar o que eu sugiro, entenda que ele pode redefinir os mapeamentos do UID / GID que foram criados pelo Samba. Eu faço isso porque tudo que me interessa vem do Active Directory rfc2307, então estou confortável limpando os caches do Samba / Winbindd e começando de novo.

O que finalmente funcionou para mim foi remover todos os arquivos do / var / cache / samba.

Recentemente, lutei para que a lista de grupos fosse atualizada apenas para um ID de usuário teimoso. Meu ID de usuário é claro.

Não acredito que esteja em uma situação de domínio cruzado, mas é possível. Estou em um grande Active Directory de vários domínios, mas estava trabalhando com usuários e grupos em apenas um domínio.

Eu tentei muitas tentativas, incluindo "net cache flush", adicionando --no-caching a winbindd e excluindo group_mapping.tdb, winbindd_idmap.tdb e winbindd_cache.tdb de / var / lib / samba.

Aqui está um script com comandos que limpa os arquivos de cache do Samba / Winbindd:

#!/usr/bin/bash

#
# Quicky for backing up and removing the
# Samba / Winbindd cache files
#
# This solution worked when a single users group
# list would not update when changed in Active
# directory.
#
#
# Environment
#
# CentOS 7 with all updates as of 20150828
# Sernet Samba 4.2.3 - Version 4.2.3-SerNet-RedHat-18.el7
#

/usr/bin/sh /etc/init.d/sernet-samba-smbd stop
/usr/bin/sh /etc/init.d/sernet-samba-winbindd stop
/usr/bin/sh /etc/init.d/sernet-samba-nmbd stop

cd /var

/usr/bin/tar cbzf 512 samba_var_backup_'date '+%Y%m%d_%H%M%S''.tgz cache/samba lib/samba log/samba

/usr/bin/find cache/samba -type f -exec /usr/bin/rm -f {} \;

/usr/bin/rm -f lib/samba/group_mapping.tdb
/usr/bin/rm -f lib/samba/winbindd_idmap.tdb
/usr/bin/rm -f lib/samba/winbindd_cache.tdb

/usr/bin/sh /etc/init.d/sernet-samba-nmbd start
/usr/bin/sh /etc/init.d/sernet-samba-winbindd start
/usr/bin/sh /etc/init.d/sernet-samba-smbd start

Acredito que criei a situação que fez com que meu ID de usuário não fosse atualizado. Neste sistema do CentOS 7, comecei a experimentar o comando "realm" e o método SSSD de falar com o Active Directory usando o CentOS 7 embutido no sssd e no Samba, que eu acho que era o Samba 4.1.x.

O SSSD quase funcionou, mas foi muito lento. Comandos como "id" e "groups" eram terrivelmente lentos. Acho que o Samba lutou porque os exercícios eram lentos demais.

Eu decidi experimentar o mais recente Samba 4.2.x por causa do novo winbindd e padrão io maior.

O Sernet Samba / Winbindd 4.2.3 parece estar funcionando muito bem. O Samba se juntou ao Active Directory sem nenhum problema. Os comandos "id" e "groups" são rápidos, especialmente após a primeira pesquisa.

Aqui está o meu smb.conf para referência:

[global]
workgroup = PROJECTS
security = ads
realm = PROJECTS.EXAMPLE.NET
kerberos method = secrets and keytab

max log size = 50000
log level = 2

template homedir = /home/%U
template shell = /bin/bash

idmap config PROJECTS : default = yes
idmap config PROJECTS : backend = ad
idmap config PROJECTS : schema_mode = rfc2307
idmap config PROJECTS : range = 10000-9999999999
idmap config *:backend = tdb
idmap config *:range = 2000-3999

winbind nss info = rfc2307
winbind use default domain = yes
winbind offline logon = no
winbind enum groups = yes
winbind enum users = yes
winbind refresh tickets = yes

#
# 20150827 by Joe
# Comment out expand groups for now
# I added it trying to solve nested groups not working
# correctly. Look ups slowed down when I added this and
# did not solve the problem for my login.
#
## winbind expand groups = 3

os level = 0
local master = no
domain master = no
preferred master = no


# ------------------ Options Joe Likes ------------------------
#

path = /tmp
force create mode = 0775
force directory mode = 2775
unix extensions = no
wide links = yes
load printers = no
map archive = no
map readonly = permissions
nt acl support = no


#============================ Share Definitions ==============================

[projects]
        path = /disks/projects/projects_share
        comment =  Projects Storage

        writeable = Yes
        browseable = yes
        guest ok = no
    
por 29.08.2015 / 00:28
1

Parece que isso exclui o cache e força o winbind a extrair informações do ADC:

service winbind stop
rm /var/cache/samba/netsamlogon_cache.tdb
service winbind start
    
por 16.03.2016 / 13:01

Tags