>> Tecnologia Eletrônica >  >> Casa Inteligente >> Segurança Residencial

Integrando Linux com Active Directory: Samba vs. LDAP (SSSD) Guia

Faça hosts Linux autenticarem contra seu domínio Windows AD. Dois caminhos testados em batalha:

Opção A: Samba Winbind (Clássico)

Melhor para servidores de arquivo/impressão que também servem clientes Windows via SMB.

  1. Instale: sudo apt install samba winbind krb5-user (Debian/Ubuntu) ou dnf install samba-winbind krb5-workstation (RHEL).
  2. Kerberos (/etc/krb5.conf):
    [libdefaults] default_realm = CORP.EXAMPLE.COM dns_lookup_realm = true dns_lookup_kdc = true 
  3. SMB.conf (/etc/samba/smb.conf):
    [global] workgroup = CORP realm = CORP.EXAMPLE.COM security = ads dedicated keytab file = /etc/krb5.keytab kerberos method = secrets and keytab winbind use default domain = yes winbind enum users = yes winbind enum groups = yes idmap config * : backend = tdb idmap config * : range = 10000-20000 idmap config CORP : backend = rid idmap config CORP : range = 1000000-2000000 template shell = /bin/bash template homedir = /home/%U 
  4. Entre no domínio:
    sudo net ads join -U administrator sudo systemctl enable --now winbind smbd nmbd 
  5. Teste: wbinfo -u; getent passwd administrator.

Opção B: SSSD + LDAP (Moderno, Recomendado)

Mais leve, melhor cache, funciona com sudo, chaves SSH e HBAC.

  1. Instale: sudo apt install sssd-ad sssd-tools realmd adcli krb5-user.
  2. Descubra e entre:
    sudo realm discover corp.example.com sudo realm join -U administrator corp.example.com 
  3. SSSD auto-configura (/etc/sssd/sssd.conf) com:
    [domain/corp.example.com] ad_domain = corp.example.com krb5_realm = CORP.EXAMPLE.COM realmd_tags = manages-system joined-with-adcli cache_credentials = True id_provider = ad krb5_store_password_if_offline = True default_shell = /bin/bash fallback_homedir = /home/%u@%d use_fully_qualified_names = False 
  4. Ative: sudo systemctl enable --now sssd.
  5. Teste: id user@corp.example.com; ssh user@linux-host.

Endurecimento Comum

  • Restrinja SSH: AllowGroups "Domain Admins" "LinuxAdmins" em sshd_config.
  • Sudo: %Domain\ Admins ALL=(ALL) ALL em /etc/sudoers.d/ad-admins.
  • HBAC (SSSD): ad_access_filter = (memberOf=CN=LinuxAccess,OU=Groups,DC=corp,DC=example,DC=com).
  • Sync de tempo: chronyd com controladores de domínio (crítico para Kerberos).

Escolha Samba se precisar servir arquivos SMB; escolha SSSD para auth/identidade puro. Ambos coexistem.