Compartilhar pasta com integração realmd / sssd e AD

4

Eu configurei uma máquina do CentOS 7 e juntei-a ao nosso AD via realmd através de:

yum install realmd samba-common oddjob oddjob-mkhomedir sssd
realm join [email protected] mydomain.local

Depois disso, realm list retorna a saída esperada

[root@webdev samba]# realm list
  mydomain.local
  type: kerberos
  realm-name: MYDOMAIN.LOCAL
  domain-name: mydomain.local
  configured: kerberos-member
  server-software: active-directory
  client-software: sssd
  required-package: oddjob
  required-package: oddjob-mkhomedir
  required-package: sssd
  required-package: adcli
  required-package: samba-common
  login-formats: %[email protected]
  login-policy: allow-realm-logins

e eu consigo acessar via SSH usando minhas credenciais do AD (assim eu recebo myuser @ mydomain.local @ hostname).

Agora preciso permitir que usuários do Windows acessem uma pasta na máquina, no entanto, o Samba parece não estar disposto a cooperar - todas as combinações ou nome de usuário e senha retornam como errados. Eu não sei como depurar isso, ou se estou perdendo alguma coisa.

O arquivo smb.conf é basicamente:

 [root@webdev samba]# testparm
 Load smb config files from /etc/samba/smb.conf
 rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
 Processing section "[vHosts]"
 Loaded services file OK.
 Server role: ROLE_DOMAIN_MEMBER
 Press enter to see a dump of your service definitions

 [global]
    workgroup = MYDOMAINLOCAL
    realm = MYDOMAIN.LOCAL
    server string = Samba Server Version %v
    security = DOMAIN
    log file = /var/log/samba/log.%m
    max log size = 50
    load printers = No
    idmap config * : backend = tdb
    hosts allow = 127., 10.0.
    cups options = raw

  [vHosts]
    comment = Virtual Host repository
    path = /var/www/vhosts
    valid users = MYDOMAINLOCAL\%S
    read only = No

Devo observar que alterei as permissões do sistema de diretório ( /var/www/vhosts ) para 777.

Qualquer ajuda será muito apreciada. Obrigado antecipadamente!

Atualizações:

  • DC é o Windows 2003 R2, os clientes são o Windows 7
  • Tentei definir a segurança para ads e domain , com resultados semelhantes (sem charuto)
  • A mensagem de erro recebida na caixa de diálogo de credenciais do Windows é "Acesso negado"
  • Tentei com o firewall desativado e ativado, sem diferença
  • O SELinux está desativado

Procurando por pacotes krb *:

[root@webdev logs]# rpm -qa | grep krb
sssd-krb5-common-1.11.2-68.el7_0.5.x86_64
sssd-krb5-1.11.2-68.el7_0.5.x86_64
samba-winbind-krb5-locator-4.1.1-35.el7_0.x86_64
krb5-libs-1.11.3-49.el7.x86_64

e o comando output getent passwd MYDOMAINLOCAL\myuser e getent passwd mydomain.local\myuser retornam em branco (sem saída).

    
por Nick Andriopoulos 21.07.2014 / 15:10

2 respostas

6

Respondendo minha própria pergunta:

a única coisa errada foi a seção valid users em smb.conf - parece que %S não funcionou.

Assim, para um grupo de segurança chamado "WebDevGrp" no Windows, no CentOS ele será mostrado como [email protected] (você pode testar via groups [email protected] ), e você pode fazer o Samba compartilhar assim:

[vHosts]
  comment = Virtual Host repository
  path = /var/www/vhosts
  public = no
  writable = yes
  guest ok = no
  valid users = @"[email protected]"

e você nem sequer é solicitado por uma senha - é tudo perfeito!

PS. ao depurar o Samba, adicione log level = 3 à sua configuração, faz uma grande diferença!.

PPS. Eu escrevi um guia para todo o processo - indo do recém instalado CentOS 7 para ter compartilhamentos do Samba com autenticação / autorização do AD que você pode encontrar no meu blog aqui

    
por 21.07.2014 / 16:10
1

Recentemente eu tive que configurar um ambiente de teste do Windows / Samba no Fedora e no Windows 2012 / Windows 7 e tive alguns problemas semelhantes. Depois de alterar essas chaves de registro em servidores / clientes do Windows, tudo funcionou bem:

HKLM \ SYSTEM \ CurrentControlSet \ Services \ LanmanWorkstation \ Parâmetros \ DomainCompatibilityMode = 1

HKLM \ SYSTEM \ CurrentControlSet \ Services \ LanmanWorkstation \ Parâmetros \ DNSNameResolutionRequired = 0

HKLM \ SYSTEM \ CurrentControlSet \ Services \ LanmanWorkstation \ Parâmetros \ RequireSecureNegociate = 0

Mas eu estava usando o winbind / kinit / etc. para executar a integração do AD. Talvez isso possa ajudá-lo.

EDIT1:

  • Você instalou o pacote kerberos como: krb5-workstation krb5 -libs krb5 -auth -dialog no seu CentOS?
  • O "getent passwd" retorna os usuários do domínio do Windows?
por 21.07.2014 / 15:41