Conectando-se ao Active Directory (possivelmente com winbind)

2

Estou tentando descobrir como integrar o sistema de autenticação do ambiente Linux ao Windows Server 2012 e descobri uma maneira de usar winbind .

Eu pesquisei no Google e há várias páginas que apresentam como sincronizar o tempo para configurar alguns arquivos de configuração.

Eu configurei o nome do host e os hosts no Linux, como segue.

[/etc/hosts]
192.168.XXX.XX1 test1.example.com example ## Windows IP
192.168.XXX.XX2 test1 ## Linux IP

[/etc/hostname]
test1

Eu configurei um Active Directory que possui as seguintes propriedades e há duas contas.

Computer name : TEST1
Domain        : example.com
Account1      : Administrator
Account2      : tester1

Portanto, defino o DNS do ambiente Linux para o endereço IP do AD. Pode verificar as informações no "resolv.conf".

[root ~]# nslookup example.com
Server:     192.168.xxx.xx1
Address:    192.168.xxx.xx1#53

Name:   example.com
Address: 192.168.xxx.xxx

Em "nsswitch.conf", adicionei a palavra 'winbind' somente ao lado de 'arquivos'.

passwd:     files winbind
shadow:     files sss winbind
group:      files winbind

Em "krb5.conf", mudei a parte de pesquisa e a região padrão.

[libdefaults]
dns_lookup_realm = true
dns_lookup_kdc = true
default_realm = EXAMPLE.COM
[realms]
DOMAIN.COM = {
  kdc = example.com
  admin_server = example.com
}
[domain_realm]
.domain.com = EXAMPLE.COM
domain.com = EXAMPLE.COM

E finalmente, eu configuro smb.conf . No entanto, existem muitas maneiras diferentes de configurar isso, então não tenho certeza. Acabou de selecionar uma das páginas do Google.

Quando tentei me conectar ao Windows Server com o ID de "administrador", ele mostra o seguinte erro:

[root ~]# net ads join -U Administrator
gse_get_client_auth_token: gss_init_sec_context failed with [Unspecified GSS failure.  Minor code may provide more information: Message stream modified](2529638953)
kinit succeeded but ads_sasl_spnego_gensec_bind(KRB5) failed for ldap/test1.example.com with user[Administrator] realm[EXAMPLE.COM]: The attempted logon is invalid. This is either due to a bad username or authentication information.
Failed to join domain: failed to connect to AD: The attempted logon is invalid. This is either due to a bad username or authentication information.

Estou preso nesta etapa e não consigo encontrar a maneira de resolvê-lo no Google. Preciso editar alguns arquivos em /etc/pam.d ?

Depois de usar a ferramenta 'testparm' sobre smb.conf , finalmente não consigo encontrar nenhum problema, mas agora aparece a seguinte mensagem quando uso o "net ads testjoin".

ads_connect: No logon servers are currently available to service the logon request.
    
por owcred601 21.06.2018 / 08:36

1 resposta

1

Desfaça todas as suas alterações e exclua a conta do computador do AD. Remova o pacote winbind .

Instale uma seleção adequada de pacotes. Em sistemas baseados em Debian, você pode usar apt-get install samba smbclient sssd realmd dnsutils policykit-1 packagekit sssd-tools sssd libnss-sss libpam-sss adcli .

Não se preocupe se sssd não iniciar. Ele precisa ser configurado com o comando realm , que abordaremos daqui a pouco.

Certifique-se de que seu sistema local baseado em Linux tenha seu controlador de domínio em seu servidor DNS. Não adicione nenhum servidor DNS adicional, a menos que faça parte do ambiente do Active Directory. Se você simplesmente editar /etc/resolv.conf e ignorar o aviso "não editar este arquivo", suas alterações provavelmente serão substituídas. Nesse ponto, seu sistema não autenticará ninguém e poderá até mesmo cair do domínio. (Usuários tendem a ficar insatisfeitos neste momento.)

Verifique se a hora local corresponde à hora no Active Directory, pois o Kerberos não funcionará com uma inclinação de mais de 5 minutos (300 segundos).

Para o seu domínio local contoso.com , execute estes três comandos como root:

domain=contoso.com          # The FQDN itself. Not machine.FQDN
realm discover "$domain"    # If this fails, stop and recheck everything
realm join "$domain"        # [--user <ad_username>] [--computer-ou <ou>]

Se você precisar fornecer um nome de conta do AD para o realm join , faça isso com realm join --user <ad_username> "$domain" , em que <ad_username> representa um sAMAccountName não qualificado. Sua própria conta do AD deve funcionar para um mínimo de dez clientes, mesmo que não seja um administrador de domínio, embora administrator seja uma opção útil se você souber sua senha. A opção --computer-ou permite especificar a unidade organizacional inicial da conta. Deixe isso em branco, a menos que você saiba seu valor correto (não adivinhe).

Corrija o arquivo sssd.conf . O ad_hostname é necessário para algumas versões para contornar um bug . O nível de aninhamento do grupo LDAP permite que sssd manipule a associação de grupos aninhados.

sed -i "/^ad_domain /s/$/\nad_hostname = $(hostname).$domain/" /etc/sssd/sssd.conf
( echo; echo 'ldap_group_nesting_level = 5'; echo 'ldap_use_tokengroups = false' ) >>/etc/sssd/sssd.conf
service sssd restart
    
por 21.06.2018 / 14:32