Differences between revisions 1 and 2
Revision 1 as of 2020-06-25 14:26:54
Size: 2826
Editor: Kurgan
Comment:
Revision 2 as of 2020-06-25 15:29:18
Size: 4425
Editor: Kurgan
Comment:
Deletions are marked like this. Additions are marked like this.
Line 7: Line 7:
Riferimento al Wiki di Samba: https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Domain_Member
Line 34: Line 35:
apt install acl attr samba samba-dsdb-modules samba-vfs-modules winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user dnsutils smbclient apt install acl attr samba samba-dsdb-modules samba-vfs-modules winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user dnsutils smbclient ntp
Line 40: Line 41:
== Configurazione ==
== Configurazione di NTP ==

NTP deve essere configurato per prendere l'ora corretta dal DC o da un altro server NTP che sia in sincro con il DC. Probabilmente usare la config di default va bene comunque, visto che si presume che l'ora esatta sia giusta anche se la prendo da un server NTP pubblico. Tuttavia se vogliamo possiamo configurare NTP per usare il DC come riferimento. (vedi https://wiki.samba.org/index.php/Time_Synchronisation)

Per fare questa configurazione, modifichiamo il file /etc/ntpd.conf in modo da eliminare i server ntp pubblici e mettere come server NTP il domain contoroller (o i domain controller se sono piu` di uno). Questa configurazione è basata su ntpd così come è impostato in Devuan Beowulf. Di fatto ho tolto le righe "pool" che fanno riferimenti ai server ntp di Debian, e ho aggiunto le righe che fanno riferimento al DC come server NTP:
{{{
# Aggiunta per Samba:
server dc01.domain.locale iburst prefer
#server DC02.domain.locale iburst
tinker panic 0

# commentate queste righe:
#pool 0.debian.pool.ntp.org iburst
#pool 1.debian.pool.ntp.org iburst
#pool 2.debian.pool.ntp.org iburst
#pool 3.debian.pool.ntp.org iburst
}}}


== Configurazione di Kerberos ==

Modificare il file {{{/etc/krb5.conf}}} come segue: (al posto di "DOMAIN.LOCALE" ovviamente mettete il vostro dominio AD, in maiuscolo. Togliete tutto il resto, non deve rimanere altro che questo.
{{{
[libdefaults]
 default_realm = DOMAIN.LOCALE
 dns_lookup_realm = false
 dns_lookup_kdc = true
}}}




== Configurazione di Samba ==
Line 49: Line 83:
 * Cancellare o rinominare, se c'è, il file {{{/etc/krb5.conf}}}

Samba 4 come member server

Questa configurazione è per Debian 10 / Devuan Beowulf.

Configurazione di una macchina con Samba4 che sia membro di un dominio AD. Il domain controller in questo caso e` Samba, ma dovrebbe funzionare anche con un DC Windows (non ho provato).

Riferimento al Wiki di Samba: https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Domain_Member

Prerequisiti

  • Samba richiede l'uso delle ACL Posix e degli attributi estesi sul file system. Occorre quindi usare ext4 (che li supporta di default) oppure abilitarli sul file system che volete usare.
  • Usare NTP perche` la sincronizzazione dell'ora e` importante
  • Configurare la risoluzione dei nomi:
    • Modificare /etc/resolv.conf in modo che punti al DNS che serve il dominio (che è lo stesso che usano i client, ovvero è il domain controller medesimo oppure può essere Dnsmasq se è stato configurato correttamente per risolvere i nomi relativi al dominio AD) e in modo che il parametro "search" sia impostato al nome del dominio AD.\

       nameserver 192.168.0.1
       search dominio.locale
    • Modificare il file /etc/hosts in modo che NON CONTENGA riferimenti all'hostname della macchina che puntino a 127.0.0.1 (o a ::1). È corretto avere "localhost" che punta a 127.0.0.1 e ::1. Il nome dell'host deve puntare all'indirizzo ip dell'interfaccia che usiamo per servire i files con Samba (che ragionevolmente sarà una sola; se ne avete più di una sinceramente non so come si possa fare). Per esempio, questo è un file hosts corretto:

      # localhost
      127.0.0.1       localhost
      ::1     localhost ip6-localhost ip6-loopback
      
      # il nome del mio server punta all' IP dell'interfaccia di rete
      192.168.0.248   hostname.dominio.locale hostname

Installazione di Samba

  • Installare normalmente i pacchetti di Samba "ufficiali" più alcuni pacchetti di contorno:
    apt install  acl attr samba samba-dsdb-modules samba-vfs-modules winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user dnsutils smbclient ntp
  • ignorare le domande relative alla config di Kerberos, che tanto dovremo rifarla dopo.
  • ATTENZIONE: installando libpam-winbind si autorizzano di default gli utenti di Samba ad accedere in ssh. Questo potrebbe essere molto pericoloso. Se non volete che succeda, usate il comando pam-auth-update (dopo aver installato i pacchetti) e disattivate l'opzione di usare Samba come fonte di autenticazione per PAM

Configurazione di NTP

NTP deve essere configurato per prendere l'ora corretta dal DC o da un altro server NTP che sia in sincro con il DC. Probabilmente usare la config di default va bene comunque, visto che si presume che l'ora esatta sia giusta anche se la prendo da un server NTP pubblico. Tuttavia se vogliamo possiamo configurare NTP per usare il DC come riferimento. (vedi https://wiki.samba.org/index.php/Time_Synchronisation)

Per fare questa configurazione, modifichiamo il file /etc/ntpd.conf in modo da eliminare i server ntp pubblici e mettere come server NTP il domain contoroller (o i domain controller se sono piu` di uno). Questa configurazione è basata su ntpd così come è impostato in Devuan Beowulf. Di fatto ho tolto le righe "pool" che fanno riferimenti ai server ntp di Debian, e ho aggiunto le righe che fanno riferimento al DC come server NTP:

# Aggiunta per Samba:
server dc01.domain.locale         iburst prefer
#server DC02.domain.locale        iburst
tinker panic 0

# commentate queste righe:
#pool 0.debian.pool.ntp.org iburst
#pool 1.debian.pool.ntp.org iburst
#pool 2.debian.pool.ntp.org iburst
#pool 3.debian.pool.ntp.org iburst

Configurazione di Kerberos

Modificare il file /etc/krb5.conf come segue: (al posto di "DOMAIN.LOCALE" ovviamente mettete il vostro dominio AD, in maiuscolo. Togliete tutto il resto, non deve rimanere altro che questo.

[libdefaults]
        default_realm = DOMAIN.LOCALE
        dns_lookup_realm = false
        dns_lookup_kdc = true

Configurazione di Samba

  • Fermare samba
  • Assicurarsi che sia fermo. Se ci sono processi smbd, nmbd, o winbindd, killarli senza pietà.
  • Cancellare o rinominare il file /etc/samba/smb.conf

  • Se ci sono, cancellare tutti i files tdb e ldb. Un metodo per trovarli è questo:
    smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR"

Samba4/ConfigMemberServer (last edited 2020-06-26 17:41:29 by Kurgan)