segunda-feira, 11 de julho de 2022

Instalar um Computador Linux Cliente numa rede AD Windows Server

Este vídeo demonstra a ligação de um computador com Linux a um Servidor Active Directory em Windows. Com estes passos é possível utilizar os utilizadores remotos das estruturas AD Windows num computador linux.

1 passo:

Alterar o ficheiro /etc/hosts e inserir o IP adress do computador local e o IP e o nome do servidor de AD

2º passo:

Sair do ficheiro e executar os seguintes comandos para atualizar o linux e instalar o serviço sssd

sudo apt update
sudo apt upgrade
sudo apt install sssd heimdal-clients msktutil

3º passo:

Mover o ficheiro de configuração por defeito Kerberos (para não o eliminar), e criar outro: 

sudo mv /etc/krb5.conf /etc/krb5.conf.default
sudo nano /etc/krb5.conf
 

No novo ficheiro colocar o seguinte conteúdo adequando os nomes ao servidor de rede e ao nome da rede windows existente.

Code
[libdefaults]
default_realm = REDE.LOCAL
rdns = no
dns_lookup_kdc = true
dns_lookup_realm = true

[realms]
REDE.LOCAL = {
kdc = servidor.rede.local
admin_server = servidor.rede.local
}

4º passo:

Inicializar o kerberos e gerar um keytab file. Usar os seguintes comandos trocando os nomes do computador cliente linux e do servidor AD.


kinit administrator
klist
msktutil -N -c -b 'CN=COMPUTERS' -s LINUX-DESKTOP/linux-desktop.rede.local -k my-keytab.keytab --computer-name LINUX-DESKTOP --upn LINUX-DESKTOP$ --server ser-ver.rede.local --user-creds-only

msktutil -N -c -b 'CN=COMPUTERS' -s LINUX-DESKTOP/linux-desktop -k my-keytab.keytab --computer-name LINUX-DESKTOP --upn LINUX-DESKTOP$ --server ser-ver.rede.local --user-creds-only
kdestroy

5º passo:

Configurar o SSSD. 


sudo mv my-keytab.keytab /etc/sssd/my-keytab.keytab
sudo nano /etc/sssd/sssd.conf

Escrever o seguinte no ficheiro de configuração SSSD. Trocar os nomes do computador cliente e do servidor AD.


[sssd]
services = nss, pam
config_file_version = 2
domains = rede.local

[nss]
entry_negative_timeout = 0
#debug_level = 5

[pam]
#debug_level = 5

[domain/nots.local]
#debug_level = 10
enumerate = false
id_provider = ad
auth_provider = ad
chpass_provider = ad
access_provider = ad
dyndns_update = false
ad_hostname = linux-desktop.nots.local
ad_server = server.rede.local
ad_domain = rede.local
ldap_schema = ad
ldap_id_mapping = true
fallback_homedir = /home/%u
default_shell = /bin/bash
ldap_sasl_mech = gssapi
ldap_sasl_authid = LINUX-DESKTOP$
krb5_keytab = /etc/sssd/my-keytab.keytab
ldap_krb5_init_creds = true

Depois de salvar, colocar as permissões necessárias no ficheiro:

sudo chmod 0600 /etc/sssd/sssd.conf

6º passo:

Configurar o PAM.

No ficheiro common-session encontar a linha que contêm "session required pam_unix.so" perto do final do ficheiro. Adicionar a linha indicada logo por baixo:


sudo nano /etc/pam.d/common-session

Adicionar a linha:


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

Depois de salvar e sair, fazer restart do SSSD:


sudo systemctl restart sssd

7º passo:

Adicionar o administrador de dominio ao grupo local admin. No final testar para verificar se faz o login e reeniciar o PC.


sudo adduser administrator sudo
su -l administrator

Toda esta configuração funciona em Linux Zorin. Testada e a funcionar em 14 máquinas linux numa rede gerida por um servidor Windows.




Os códigos e as explicações foram retiradas do blog nerdonthestreet em https://nerdonthestreet.com/wiki?find=Authenticate+Ubuntu+19.04+against+Active+Directory.