Pesquisa de site

Integre o Ubuntu 16.04 ao AD como membro do domínio com Samba e Winbind - Parte 8


Este tutorial descreve como ingressar uma máquina Ubuntu em um domínio do Samba4 Active Directory para autenticar contas do AD com ACL local para arquivos e diretórios ou para criar e mapear compartilhamentos de volume para usuários de controladores de domínio (atuar como servidor de arquivos).

Requisitos:

  1. Crie uma infraestrutura do Active Directory com Samba4 no Ubuntu

Etapa 1: Configurações iniciais para associar o Ubuntu ao Samba4 AD

1. Antes de começar a ingressar um host Ubuntu em um Active Directory DC você precisa garantir que alguns serviços estejam configurados corretamente na máquina local.

Um aspecto importante da sua máquina representa o nome do host. Configure um nome de máquina adequado antes de ingressar no domínio com a ajuda do comando hostnamectl ou editando manualmente o arquivo /etc/hostname.


hostnamectl set-hostname your_machine_short_name
cat /etc/hostname
hostnamectl

2. Na próxima etapa, abra e edite manualmente as configurações de rede da sua máquina com as configurações de IP adequadas. As configurações mais importantes aqui são os endereços IP DNS que apontam para o seu controlador de domínio.

Edite o arquivo /etc/network/interfaces e adicione a instrução dns-nameservers com seus endereços IP de AD e nome de domínio adequados, conforme ilustrado na captura de tela abaixo.

Além disso, certifique-se de que os mesmos endereços IP DNS e o nome de domínio sejam adicionados ao arquivo /etc/resolv.conf.

Na captura de tela acima, 192.168.1.254 e 192.168.1.253 são os endereços IP do Samba4 AD DC e Tecmint.lan< representa o nome do domínio AD que será consultado por todas as máquinas integradas ao realm.

3. Reinicie os serviços de rede ou reinicie a máquina para aplicar as novas configurações de rede. Emita um comando ping em seu nome de domínio para testar se a resolução DNS está funcionando conforme o esperado.

O AD DC deve ser reproduzido com seu FQDN. Caso você tenha configurado um servidor DHCP em sua rede para atribuir automaticamente configurações de IP para seus hosts LAN, certifique-se de adicionar endereços IP do AD DC às configurações DNS do servidor DHCP.


systemctl restart networking.service
ping -c2 your_domain_name

4. A última configuração importante necessária é representada pela sincronização de horário. Instale o pacote ntpdate, consulte e sincronize o horário com o AD DC emitindo os comandos abaixo.


sudo apt-get install ntpdate
sudo ntpdate -q your_domain_name
sudo ntpdate your_domain_name

5. Na próxima etapa, instale o software exigido pela máquina Ubuntu para ser totalmente integrado ao domínio executando o comando abaixo.


sudo apt-get install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind

Enquanto os pacotes Kerberos estão sendo instalados, você será solicitado a inserir o nome do seu domínio padrão. Use o nome do seu domínio em letras maiúsculas e pressione a tecla Enter para continuar a instalação.

6. Após a conclusão da instalação de todos os pacotes, teste a autenticação Kerberos em uma conta administrativa do AD e liste o ticket emitindo os comandos abaixo.


kinit ad_admin_user
klist

Passo 2: Junte-se ao Ubuntu no Samba4 AD DC

7. A primeira etapa para integrar a máquina Ubuntu ao domínio do Samba4 Active Directory é editar o arquivo de configuração do Samba.

Faça backup do arquivo de configuração padrão do Samba, fornecido pelo gerenciador de pacotes, para iniciar com uma configuração limpa executando os seguintes comandos.


mv /etc/samba/smb.conf /etc/samba/smb.conf.initial
nano /etc/samba/smb.conf 

No novo arquivo de configuração do Samba adicione as linhas abaixo:


[global]
        workgroup = TECMINT
        realm = TECMINT.LAN
        netbios name = ubuntu
        security = ADS
        dns forwarder = 192.168.1.1

idmap config * : backend = tdb        
idmap config *:range = 50000-1000000
	
   template homedir = /home/%D/%U
   template shell = /bin/bash
   winbind use default domain = true
   winbind offline logon = false
   winbind nss info = rfc2307
   winbind enum users = yes
   winbind enum groups = yes

  vfs objects = acl_xattr
  map acl inherit = Yes
  store dos attributes = Yes

Substitua as variáveis grupo de trabalho, reino, nome netbios e encaminhador de DNS por suas próprias configurações personalizadas.

O parâmetro winbind use default domain faz com que o serviço winbind trate qualquer nome de usuário não qualificado do AD como usuários do AD. Você deve omitir esse parâmetro se tiver nomes de contas do sistema local que se sobreponham às contas do AD.

8. Agora você deve reiniciar todos os daemons do samba e parar e remover serviços desnecessários e habilitar os serviços do samba em todo o sistema emitindo os comandos abaixo.


sudo systemctl restart smbd nmbd winbind
sudo systemctl stop samba-ad-dc
sudo systemctl enable smbd nmbd winbind

9. Junte a máquina Ubuntu ao Samba4 AD DC emitindo o seguinte comando. Use o nome de uma conta do AD DC com privilégios de administrador para que a ligação ao domínio funcione conforme esperado.


sudo net ads join -U ad_admin_user

10. Em uma máquina Windows com ferramentas RSAT instaladas, você pode abrir o AD UC e navegar até o contêiner Computadores. Aqui, sua máquina associada ao Ubuntu deve estar listada.

Etapa 3: configurar a autenticação de contas AD

11. Para realizar a autenticação de contas AD na máquina local, você precisa modificar alguns serviços e arquivos na máquina local.

Primeiro, abra e edite o arquivo de configuração The Name Service Switch (NSS).


sudo nano /etc/nsswitch.conf

Em seguida, anexe o valor winbind para linhas passwd e group conforme ilustrado no trecho abaixo.


passwd:         compat winbind
group:          compat winbind

12. Para testar se a máquina Ubuntu foi integrada com sucesso ao domínio, execute o comando wbinfo para listar contas e grupos de domínio.


wbinfo -u
wbinfo -g

13. Além disso, verifique o módulo nsswitch do Winbind emitindo o comando getent e canalize os resultados através de um filtro como grep para restringir a saída apenas para usuários ou grupos de domínio específicos.


sudo getent passwd| grep your_domain_user
sudo getent group|grep 'domain admins'

14. Para autenticar na máquina Ubuntu com contas de domínio, você precisa executar o comando pam-auth-update com privilégios de root e adicionar todas as entradas necessárias para o serviço winbind e para crie automaticamente diretórios iniciais para cada conta de domínio no primeiro login.

Verifique todas as entradas pressionando a tecla [space] e clique em ok para aplicar a configuração.


sudo pam-auth-update

15. Em sistemas Debian você precisa editar manualmente o arquivo /etc/pam.d/common-account e a linha a seguir para criar automaticamente casas para usuários de domínio autenticados.


session    required    pam_mkhomedir.so    skel=/etc/skel/    umask=0022

16. Para que os usuários do Active Directory possam alterar a senha na linha de comando no Linux, abra /etc/pam.d/common-password > arquivo e remova a instrução use_authtok da linha de senha para finalmente ficar como no trecho abaixo.


password       [success=1 default=ignore]      pam_winbind.so try_first_pass

17. Para autenticar no host Ubuntu com uma conta Samba4 AD, use o parâmetro nome de usuário do domínio após o comando su –. Execute o comando id para obter informações extras sobre a conta do AD.


su - your_ad_user

Use o comando pwd para ver o diretório atual do usuário do domínio e o comando passwd se desejar alterar a senha.

18. Para usar uma conta de domínio com privilégios de root em sua máquina Ubuntu, você precisa adicionar o nome de usuário AD ao grupo de sistema sudo emitindo o comando abaixo:


sudo usermod -aG sudo your_domain_user

Faça login no Ubuntu com a conta de domínio e atualize seu sistema executando o comando apt-get update para verificar se o usuário do domínio tem privilégios de root.

19. Para adicionar privilégios de root para um grupo de domínio, abra o arquivo de edição /etc/sudoers usando o comando visudo e adicione a seguinte linha conforme ilustrado na imagem abaixo.


%YOUR_DOMAIN\\your_domain\  group       		 ALL=(ALL:ALL) ALL

Use barras invertidas para escapar dos espaços contidos no nome do seu grupo de domínio ou para escapar da primeira barra invertida. No exemplo acima, o grupo de domínio para a região TECMINT é denominado “administradores de domínio”.

O símbolo de porcentagem anterior (%) indica que estamos nos referindo a um grupo, não a um nome de usuário.

20. Caso você esteja executando a versão gráfica do Ubuntu e queira fazer login no sistema com um usuário de domínio, você precisa modificar o gerenciador de exibição LightDM editando /usr/share/lightdm /lightdm.conf.d/50-ubuntu.conf, adicione as seguintes linhas e reinicie a máquina para refletir as alterações.


greeter-show-manual-login=true
greeter-hide-users=true

Agora ele deve ser capaz de realizar logins no Ubuntu Desktop com uma conta de domínio usando o formato seu_nome_de_usuário ou seu_domínio_usuário@seu_domínio.tld ou seu_domínio\seu_domínio_usuário .