Skip to content

Debian Buster & Active Directory

NB: Istruzioni e configurazioni valide per il dominio UNITN configurazione LDSS e per debian 10 detta anche Buster

Attori:

Macchina da mettere in dominio:  sci-ldtest.unitn.it   192.168.121.30

Server di Dominio e DNS: dcunitn01.unitn.it 192.168.206.99 , dcunitn02.unitn.it 192.168.119.99

Server delle home: sci-aresw.unitn.it 192.168.131.2

Pacchetti

Installa i pacchetti:

# apt-get install krb5-user samba ntp sssd adcli

Metti UNITN.IT nel Default Kerberos realname:

Configurazioni

Nome macchina:

NOTA: il nome meglio tutto minuscolo

Diamo un nome appropriato alla nostra macchina editando il file /etc/hostname

sci-ldtest.unitn.it

sistemiamo anche il file /etc/hosts che dovrebbe essere circa:

127.0.0.1 localhost
127.0.1.1 sci-ldtest.unitn.it sci-ldtest

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

# Aggiungi questa riga se la machina non è nel DNS
#192.168.121.30 sci-ldDTest.unitn.it sci-ldDTest

Time:

Sincroniziamo l’ora con i server di dominio (altrimanti kerberos non funziona). Editiamo il file /etc/ntp.conf commentiamo i server di debian e aggiungiamo quello di UNITN

#server 0.debian.pool.ntp.org iburst
#server 1.debian.pool.ntp.org iburst
#server 2.debian.pool.ntp.org iburst
#server 3.debian.pool.ntp.org iburst

server unitn.it #server di unitn

Kerberos:

Modifichiamo il il file /etc/krb5.conf lasciando solo le seguenti informazioni:

[libdefaults]
        default_realm = UNITN.IT
        rdns = false
        dns_lookup_kdc = true

[domain_realm]
        .unitn.it = UNITN.IT
        unitn.it = UNITN.IT

DNS:

modifichiamo il file /etc/resolv.conf come segue:

# Generated by NetworkManager
search unitn.it
nameserver 192.168.206.99
nameserver 192.168.119.99

Samba: ???????????

Modifichiamo il file /etc/samba/smb.conf  nel seguente modo:

[global]
workgroup = UNITN
vfs objects = acl_xattr
map acl inherit = yes

log file = /var/log/samba/log.%m
max log size = 1000
logging = file
panic action = /usr/share/samba/panic-action %d


####### Authentication #######

   server role = standalone server
   map to guest = bad user

#======================= Share Definitions =======================
server string = %h server (Samba %v)
log file = /var/log/samba/log.%m
max log size = 1000

[Scratch]
path = /media/Scratch
comment = S su %h
available = yes
browseable = yes
writable = yes
public = yes

NOTA:  la versione di samba di Debian 8 ha un bacco che richiede un comando in più durante il join al dominio per sistemare il keytab.

dalle versioni successive di samba ( es Ubuntu 16.04) basta modificare la riga del kerberos method come segue e tutto funziona:

kerberos method = secrets and keytab

sssd:

Crea il file  /etc/sssd/sssd.conf  contenente:

[sssd]
domains = unitn.it
config_file_version = 2
services = nss, pam

[nss]
filter_users = root,administrator
filter_groups = root,administrator

[domain/unitn.it]
ad_domain = unitn.it
krb5_realm = UNITN.IT
id_provider = ad
ldap_id_mapping = True
ldap_idmap_default_domain_sid = S-1-5-21-343818398-764733703-1708537768
ldap_idmap_range_min = 10000
ldap_idmap_range_size = 1000000
use_fully_qualified_names = false
default_shell = /bin/bash
fallback_homedir = /home/%u
ldap_group_nesting_level = 0
ignore_group_members = true
access_provider = simple
simple_allow_groups = utenti servizio generic network di ateneo (ada)-(6789),utenti visiting,sci-auleusers,ing-auleusers
dyndns_update = false
krb5_lifetime = 10h
krb5_renewable_lifetime = 7d
krb5_renew_interval = 2h
ad_maximum_machine_account_password_age = 0
krb5_ccname_template = /tmp/krb5cc_%U
ldap_user_email = mailNickname

NOTA: Cambia i permessi del file in root:root 600


NFS:

Modifica le opzioni nel file /etc/default/nfs-common come segue:

# Do you want to start the statd daemon? It is not needed for NFSv4.
NEED_STATD=

# Options for rpc.statd.
# Should rpc.statd listen on a specific port? This is especially useful
# when you have a port-based firewall. To use a fixed port, set this
# this variable to a statd argument like: "--port 4000 --outgoing-port 4001".
# For more information, see rpc.statd(8) or http://wiki.debian.org/SecuringNFS
STATDOPTS=

# Do you want to start the idmapd daemon? It is only needed for NFSv4.
NEED_IDMAPD=

# Do you want to start the gssd daemon? It is required for Kerberos mounts.
NEED_GSSD= yes

Chrony:

Modifica le opzioni nel file /etc/chrony/chrony.conf come segue:
...
pool unitn.it iburst
...

 

A questo punto è più veloce fare un riavvio della macchina che riavvirare i singoli servizi!!!!!

Join

Per testare l’autenticazione kerberos (facoltativo):

kinit [domai_user]@UNITN.IT

Mettere la password e se non ci sono errori procedere con il join:

adcli join -D unitn.it -U [Domain_Administrator] -S dcunitn01 -H $(hostname --fqdn) -O "OU=Linux,OU=LD,OU=Computers,OU=Scienze,OU=Unitn,dc=unitn,dc=it" --user-principal
systemctl restart sssd.service
systemctl restart rpc-gssd.service

 

Le parti in neretto vanno sostituite con i giusti valori a seconda dei casi…

Prova ad eseguire il comando klist -k per vedere cosa contiene il keytab

Esegui il comando:

timedatectl set-local-rtc 1

Per fare un test fare un ssh con un utente di dominio alla macchina e vedere se logga:

ssh [Domain_user]@localhost

Home e software remoto

A questo punto se tutto è andato bene possiamo montare le home e le cartelle di rete modificando il file /etc/fstab:

192.168.121.3:/mnt/Linux /usr/LDSS nfs sec=sys 0 0
sci-ares.unitn.it:/home /home nfs sec=krb5 0 0
/dev/sda7       /media/Scratch  ntfs-3g defaults,locale=en_EN.utf8 0 0

e se tutto funziona con un mount -a si montano le home e il lavoro è finito….


Last updated: 3 Settembre 2020 by Pierluigi Minati