Tag Archives: Active Directory
administrator

Samba connesso ad un dominio – sincronizzazione password

Ho un server GNU/Debian 64 con samba connesso ad un dominio Windows. Capita che le password non siano più sincronizzate, nonstante abbia usato la direttiva:

machine password timeout = 0

nel file /etc/samba/smb.conf.

Per controllare la sincronizzazione delle password possiamo utilizzare questo script (/root/scripts/chkpassword):

#!/bin/bash
d=$(date)
echo "Controllo password: $d"
d=$(/opt/pbis/bin/lsa ad-get-machine password | grep NetBIOS | cut -d":" -f 2)
p=$(/opt/pbis/bin/lsa ad-get-machine password | grep Password | cut -d":" -f 2-)
p="${p#"${p%%[![:space:]]*}"}"
t=$(tdbtool /var/lib/samba/secrets.tdb dump | grep -A 2 SECRETS/MACHINE_PASSWORD\/ | tail -1 | cut -d" " -f 19- | tr -d ' ')
echo "Password nel controller di dominio: ["$p"]"
echo "Password nel database samba: ["$t"]"
echo " "

ed eventualmente metterlo in crontab per loggare la situazione settimanalmente:

00 6 * * 1 root /root/scripts/chkpassword >> /root/controllopwd.log

se la connessione al dominio è stata gestita tramite Power Broker allora possiamo riconnettere samba al dominio con (/root/scripts/resync):

#!/bin/bash
/opt/pbis/bin/samba-interop-install --install
/etc/init.d/samba restart

fatto

Comments ( 0 )

Debian samba server connesso ad Active Directory

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\nomeutente@ip.del.server

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(DOMINIOnomeutente) gid=278921729(DOMINIOdomain^users) gruppi=278921729(DOMINIOdomain^users)

per controllare ulteriormente la presenza di un utente:

# /opt/likewise/bin/lw-find-user-by-name DOMINIO\nomeutente
User info (Level-0):
====================
Name:              DOMINIOnomeutente
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
DOMINIOnomeutente: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 = @DOMINIOdomain^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?

🙂

Comments ( 0 )