Per connettere un server samba (basato su debian, ovviamente) ad un dominio Active Directory possiamo utilizzare i tool di LikeWise:

scarichiamo i tool dal sito BeyondTrust oppure da qui nelle versioni per i386, amd64(e anche per OsX)

rendiamo eseguibile lo script

# chmod a+x LikewiseOpen-6.0.0.8388-linux-amd64-deb.sh

e lo eseguiamo:

# ./LikewiseOpen-6.0.0.8388-linux-amd64-deb.sh

e seguiamo tutte le istruzioni.
al termine della procedura connettiamo il server al dominio Active Directory (qui il dominio si chiama ”dominio” ed il suo fqdn è ”dominio.fqdn.com”):

# domainjoin-cli join dominio.fqdn.com administrator

riavviamo.

possiamo connetterci al server con un utente di dominio utilizzando la sintassi:

# ssh dominio\\[email protected]

a questo punto, dopo essere diventati root con ”su” possiamo controllare lo stato del sistema:

# /opt/likewise/bin/lwsm list
lwreg       running (standalone: 1185)
dcerpc      running (standalone: 1718)
eventlog    running (standalone: 1730)
lsass       running (standalone: 1493)
lwio        running (standalone: 1344)
netlogon    running (standalone: 1285)
rdr         running (io: 1344)

e

# /opt/likewise/bin/domainjoin-cli query
Name = nomeserver
Domain = DOMINIO.FQDN.COM
Distinguished Name = CN=NAS,CN=Computers,DC=dominio,DC=fqdn,DC=com

e con:

# /opt/likewise/bin/lw-get-status
[cut]

per avere informazioni su un utente di dominio possiamo:

# id dominio\\nomeutente
uid=278922328(DOMINIO\nomeutente) gid=278921729(DOMINIO\domain^users) gruppi=278921729(DOMINIO\domain^users)

per controllare ulteriormente la presenza di un utente:

# /opt/likewise/bin/lw-find-user-by-name DOMINIO\\nomeutente
User info (Level-0):
====================
Name:              DOMINIO\nomeutente
SID:               S-1-5-21-2525912273-188867155-4035306855-1112
Uid:               278922328
Gid:               278921729
Gecos:             Nome Utente
Shell:             /bin/sh
Home dir:          /home/local/DOMINIO/nomeutente
Logon restriction: NO

e

# wbinfo -i DOMINIO\\nomeutente
DOMINIO\nomeutente:x:278922328:278921729:Nome Utente:/home/local/DOMINIO/nomeutente:/bin/sh

e testiamo la connessione con password:

 wbinfo -a DOMINIO\\nomeutente%PASSWORD
plaintext password authentication succeeded

adesso che l’autenticazione funziona perfettamente passiamo a modificare la configurazione di samba, con l’aggiunta di una condivisione di esempio:

/etc/samba/smb.conf:
# Global Settings
[global]
   workgroup = DOMINIO
   server string = %h server
# Authentication #
   security = ADS
   realm = DOMINIO.FQDN.COM
   machine password timeout = 0
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   pam password change = yes
# condivisione
[Condivisione]
   comment = Condivisione
   path = /raid/condivisione
   browseable = yes
   read only = no
   create mask = 0660
   directory mask = 0770
   valid users = @DOMINIO\domain^users

modifichiamo i permessi ed il proprietario della condivisione:

# chmod 0770 /raid/condivisione
# chown DOMINIO\\nomeutente:DOMINIO\\domain^users /raid/condivisione

controlliamo se la versione è corretta:

# /opt/likewise/bin/samba-interop-install --check-version
Found smbd version 3.5.6
Samba version supported

adesso dobbiamo usare il comando magico:

# /opt/likewise/bin/samba-interop-install --install
# service samba restart
# service winbind restart

testiamo la connessione con il dominio:

# net ads testjoin
Join is OK

tutto ok?

🙂