Clark's Home page

Tecnicismi vari di un Sysadmin Linux ma anche qualcosa della sua vita

Inserire una macchina linux in un dominio AD con samba 4 —

Pagina obsoleta sono cambiate alcune cose qui la configurazione riveduta e corretta

Ultimamente in azienda siamo passati a Samba 4 con AD come autenticatore di utenti e gestore di share.
Mi son trovato a dover inserire un proxy in dominio AD, ci sono molti howto in rete ne ho letti diversi e questo e’ il risultato di quanto preso qui e la che mi ha risolto il problema, questo articolo è relativo solo alla parte di samba per le configurazioni di proxy ne farò un altro quando avro’ tempo.
Ammettiamo di avere una macchina debian stable base, vale a dire col default e un server ssh per poterci lavorare da remoto.
Scenario:
audace.oceano.lan è il proxy da joinare al dominio AD MYFIRM.LOCAL ha IP 192.168.2.1
urania.myfirm.local samba 4 è primary kerberos server ha IP 192.168.2.227
danaide.myfirm.local samba4 backup e secondary kerberos server ha ip 192.168.2.228
Il primo passo è aggiungere i 2 host al file /etc/hosts, subito dopo installare Kerberos, ntpdate,samba,winbind.
apt-get install samba krb5-user libpam-krb5 ntpdate winbind
e quindi sincronizzare l’ora con il proprio AD server
ntpdate urania.myfirm.local

un possibile risultato è questo
18 Mar 09:46:22 ntpdate[4717]: step time server 192.168.2.227 offset -0.545435 sec
Svuotiamo il krb5.conf  e modifichiamolo in modo tale che alla fine sia così
krb5.conf

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = MYFIRM.LOCAL
ticket_lifetime = 24h
dns_lookup_realm = false
dns_lookup_kdc = true
[realms]
MYFIRM.LOCAL = {
kdc = urania.myfirm.local:88
kdc = danaide.myfirm.local:88
admin_server = urania.myfirm.local:749
default_domain = MYFIRM.LOCAL
}

[domain_realm]
.myfirm.local = MYFIRM.LOCAL
myfirm.local = MYFIRM.LOCAL
Attenzione le maiuscole hanno un senso e i realm vanno proprio scritti in maiuscolo.
testiamo il kerberos con
root@audace:/etc# kinit administrator
Password for administrator@MYFIRM.LOCAL: mettere qui la pw supersegreta del samba4 e dare invio
nessun errore? ok Murphy e’ distratto va bene così, con

root@audace:/etc# klist
abbiamo questo risultato che dice che tutto è ok
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@MYFIRM.LOCAL

Valid starting Expires Service principal
18/03/2015 10:26:51 18/03/2015 20:26:51 krbtgt/MYFIRM.LOCAL@MYFIRM.LOCAL
renew until 19/03/2015 10:26:43
Modifichiamo il smb.conf così:
[global]

## Browsing/Identification ###
server string = PROXY
security = ADS
realm = MYFIRM.LOCAL
workgroup = MYFIRM
encrypt passwords = yes
idmap uid = 10000-40000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
winbind separator = @
winbind use default domain = yes
winbind trusted domains only = yes
winbind cache time = 3600
template homedir = /home/%D/%U
template shell = /bin/bash
# stop the client from becoming domain master
domain master = no
local master = no
preferred master = no
os level = 0
domain logons = no
client ntlmv2 auth = yes

### per evitare di vedere gli errori di cups
load printers = no
show add printer wizard = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
Restarte samba e winbind quindi joinare al dominio con:
net ads join -S AUDACE.MYFIRM.LOCAL -U administrator
Enter administrator’s password: inserire qui la pw supersegreta
Using short domain name — MYFIRM
Joined ‘AUDACE’ to realm ‘myfirm.local’
DNS Update for audace.oceano.lan failed: ERROR_DNS_GSS_ERROR
DNS update failed!
E ti pareva… ma dopo aver guardato in internet si scopre che e’ tutto ok e che la prova del 9 è questa:
root@audace:/etc/samba# net ads testjoin
Join is OK
Quindi ci siamo, ultima cosa da fare prima di installare squid3 è mettere a posto i permessi di winbind, editiamo /etc/init.d/winbind e sostituiamo la riga
chgrp winbindd_priv $PIDDIR/winbindd_privileged/ || return 1

con

chgrp proxy $PIDDIR/winbindd_privileged/ || return 1
e aggiungiamo questa riga immediatamente dopo

chown root $PIDDIR/winbindd_privileged/ || return 1
e anche winbid è a posto

fonti:

https://wiki.debian.org/AuthenticatingLinuxWithActiveDirectory
http://community.spiceworks.com/how_to/1958-installing-squid-and-squidguard-with-transparent-active-directory-authentification


Categorised as: Linux | Proxy | Samba | Work

Comments are disabled on this post


Comments are closed.


Hide picture