Pesquisa de site

Integre o Ubuntu ao Samba4 AD DC com SSSD e Realm - Parte 15


Este tutorial irá guiá-lo sobre como ingressar uma máquina Ubuntu Desktop em um domínio Samba4 Active Directory com SSSD e Realmd > serviços para autenticar usuários em um Active Directory.

Requisitos:

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

Etapa 1: configurações iniciais

1. Antes de começar a ingressar o Ubuntu em um Active Directory, certifique-se de que o nome do host esteja configurado corretamente. Use o comando hostnamectl para definir o nome da máquina ou edite manualmente o arquivo /etc/hostname.

sudo hostnamectl set-hostname your_machine_short_hostname
cat /etc/hostname
hostnamectl

2. Na próxima etapa, edite as configurações da interface de rede da máquina e adicione as configurações IP adequadas e os endereços de servidor IP DNS corretos para apontar para o controlador de domínio Samba AD, conforme ilustrado na captura de tela abaixo.

Se você configurou um servidor DHCP em suas instalações para atribuir automaticamente configurações de IP para suas máquinas LAN com os endereços IP AD DNS adequados, você pode pular esta etapa e seguir em frente.

Na captura de tela acima, 192.168.1.254 e 192.168.1.253 representam os endereços IP dos controladores de domínio Samba4.

3. Reinicie os serviços de rede para aplicar as alterações usando a GUI ou a partir da linha de comando e emita uma série de comando ping em seu nome de domínio para testar se a resolução DNS está correta. funcionando conforme o esperado. Além disso, use o comando host para testar a resolução de DNS.

sudo systemctl restart networking.service
host your_domain.tld
ping -c2 your_domain_name
ping -c2 adc1
ping -c2 adc2

4. Finalmente, certifique-se de que o tempo da máquina esteja sincronizado com o Samba4 AD. Instale o pacote ntpdate e sincronize o horário com o AD emitindo os comandos abaixo.

sudo apt-get install ntpdate
sudo ntpdate your_domain_name

Etapa 2: instalar os pacotes necessários

5. Nesta etapa, instale o software necessário e as dependências necessárias para ingressar o Ubuntu no Samba4 AD DC: serviços Realmd e SSSD.

sudo apt install adcli realmd krb5-user samba-common-bin samba-libs samba-dsdb-modules sssd sssd-tools libnss-sss libpam-sss packagekit policykit-1 

6. Insira o nome do domínio padrão em letras maiúsculas e pressione a tecla Enter para continuar a instalação.

7. Em seguida, crie o arquivo de configuração SSSD com o seguinte conteúdo.

sudo nano /etc/sssd/sssd.conf

Adicione as seguintes linhas ao arquivo sssd.conf.

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
reconnection_retries = 3

[sssd]
domains = tecmint.lan
config_file_version = 2
services = nss, pam
default_domain_suffix = TECMINT.LAN


[domain/tecmint.lan]
ad_domain = tecmint.lan
krb5_realm = TECMINT.LAN
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%d/%u
access_provider = ad

auth_provider = ad
chpass_provider = ad
access_provider = ad
ldap_schema = ad
dyndns_update = true
dyndns_refresh_interval = 43200
dyndns_update_ptr = true
dyndns_ttl = 3600

Certifique-se de substituir o nome de domínio nos seguintes parâmetros de acordo:

domains = tecmint.lan
default_domain_suffix = TECMINT.LAN
[domain/tecmint.lan]
ad_domain = tecmint.lan
krb5_realm = TECMINT.LAN

8. Em seguida, adicione as permissões adequadas para o arquivo SSSD emitindo o comando abaixo:

sudo chmod 700 /etc/sssd/sssd.conf

9. Agora, abra e edite o arquivo de configuração Realmd e adicione as seguintes linhas.

sudo nano /etc/realmd.conf

Trecho do arquivo Realmd.conf:

[active-directory]
os-name = Linux Ubuntu
os-version = 17.04

[service]
automatic-install = yes

 [users]
default-home = /home/%d/%u
default-shell = /bin/bash

[tecmint.lan]
user-principal = yes
fully-qualified-names = no

10. O último arquivo que você precisa modificar pertence ao daemon Samba. Abra o arquivo /etc/samba/smb.conf para edição e adicione o seguinte bloco de código no início do arquivo, após a seção [global] conforme ilustrado na página imagem abaixo.

 workgroup = TECMINT
   client signing = yes
   client use spnego = yes
   kerberos method = secrets and keytab
   realm = TECMINT.LAN
   security = ads

Certifique-se de substituir o valor do nome de domínio, especialmente o valor do domínio para corresponder ao seu nome de domínio e execute o comando testparm para verificar se a configuração arquivo não contém erros.

sudo testparm

11. Depois de fazer todas as alterações necessárias, teste a autenticação Kerberos usando uma conta administrativa do AD e liste o ticket emitindo os comandos abaixo.

sudo kinit [email 
sudo klist

Etapa 3: junte-se ao Ubuntu no Samba4 Realm

12. Para juntar a máquina Ubuntu ao Samba4 Active Directory, siga uma série de comandos conforme ilustrado abaixo. 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 e substitua o valor do nome de domínio adequadamente.

sudo realm discover -v DOMAIN.TLD
sudo realm list
sudo realm join TECMINT.LAN -U ad_admin_user -v
sudo net ads join -k

13. Após a vinculação do domínio, execute o comando abaixo para garantir que todas as contas de domínio tenham permissão para autenticação na máquina.

sudo realm permit --all

Posteriormente, você pode permitir ou negar o acesso a uma conta de usuário de domínio ou grupo usando o comando realm conforme apresentado nos exemplos abaixo.

sudo realm deny -a
realm permit --groups ‘domain.tld\Linux Admins’
realm permit [email 
realm permit DOMAIN\\User2

14. Em uma máquina Windows com ferramentas RSAT instaladas, você pode abrir o AD UC e navegar até o contêiner Computadores e verificar se existe uma conta de objeto com o nome da sua máquina foi criada.

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

15. 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 ativar todos os perfis PAM, incluindo a opção de criar automaticamente diretórios iniciais para cada conta de domínio no primeiro login.

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

sudo pam-auth-update

16. Nos sistemas, edite 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

17. Se os usuários do Active Directory não puderem alterar suas senhas na linha de comando no Linux, abra o arquivo /etc/pam.d/common-password e remova o use_authtok da linha de senha para finalmente parecer no trecho abaixo.

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

18. Por fim, reinicie e ative o serviço Realmd e SSSD para aplicar as alterações emitindo os comandos abaixo:

sudo systemctl restart realmd sssd
sudo systemctl enable realmd sssd

19. Para testar se a máquina Ubuntu foi integrada com sucesso ao realm, execute a instalação do pacote winbind e execute o comando wbinfo para listar contas e grupos de domínio conforme ilustrado abaixo.

sudo apt-get install winbind
wbinfo -u
wbinfo -g

20. Além disso, verifique o módulo nsswitch do Winbind emitindo o comando getent em um usuário ou grupo de domínio específico.

sudo getent passwd your_domain_user
sudo getent group ‘domain admins’

21. Você também pode usar o comando id do Linux para obter informações sobre uma conta AD, conforme ilustrado no comando abaixo.

id tecmint_user

22. 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 de trabalho atual do usuário do domínio e o comando passwd se desejar alterar a senha.

23. 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 [email 

Faça login no Ubuntu com a conta de domínio e atualize seu sistema executando o comando apt update para verificar os privilégios de root.

24. 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 .

%domain\ [email        		 ALL=(ALL:ALL) ALL

25. Para usar a autenticação de conta de domínio para Ubuntu Desktop, modifique o gerenciador de exibição do LightDM editando /usr/share/lightdm/lightdm.conf.d/50-ubuntu. conf, anexe as duas linhas a seguir e reinicie o serviço lightdm ou reinicie a máquina para aplicar as alterações.

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

Faça login no Ubuntu Desktop com uma conta de domínio usando a sintaxe seu_nome_de_usuário_do_domínio ou seu_nome_de_usuário_do_domínio@seu_domínio.tld.

26. Para usar o formato de nome abreviado para contas Samba AD, edite o arquivo /etc/sssd/sssd.conf e adicione a seguinte linha em [sssd] conforme ilustrado abaixo.

full_name_format = %1$s

e reinicie o daemon SSSD para aplicar as alterações.

sudo systemctl restart sssd

Você notará que o prompt do bash mudará para o nome abreviado do usuário AD sem anexar a contraparte do nome de domínio.

27. Caso você não consiga fazer login devido ao argumento enumerate=true definido em sssd.conf você deve limpar o banco de dados em cache sssd emitindo o comando abaixo :

rm /var/lib/sss/db/cache_tecmint.lan.ldb

Isso é tudo! Embora este guia se concentre principalmente na integração com um Active Directory Samba4, as mesmas etapas podem ser aplicadas para integrar o Ubuntu com serviços Realmd e SSSD em um Microsoft Windows Server Active Directory.