Due dritte come promemoria per tutti su come configurare cartelle condivise su una macchina Linux con autenticazione su un dominio Windows. Dato che in rete si trova di tutto, molte cose sono interssanti ma altre sono fuorvianti tengo a precisare che:
- NEL DOMINIO WINDOWS ESISTENTE POSSONO TROVARSI SERVER DAL 2000 A 2008 ANCHE IN MODALITÀ NATIVA.
- NON È NECESSARIO CREARE UTENTI SAMBA SULLA MACCHINA LINUX, GLI ACCESSI LI CONVALIDA AL VOLO NEL DOMINIO TRAMITE LDAP.
- LA MACCHINA LINUX PARTECIPA AL DOMINIO COME UN QUALSIASI COMPUTER CLIENT, NON COME DOMAIN CONTROLLER!
- Ho provato sulla mia pelle (anzi sui miei server), a proposito la mia linux è una debian squeeze e nel dominio Windows ho server 2000/2003/2008.
Detto ciò bisogna:
1) installare i pacchetti prerequisiti, da root:
apt-get install krb5-config krb5-user krb5-doc winbind samba rdate
2) Salvare ed editare il file /etc/krb5.conf e scriverci
[logging]
default = FILE:/var/log/krb5.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmin.log
[libdefaults]
default_realm = DOMINIO.IT
dns_lookup_realm = false
dns_lookup_kdc = false
clock_skew = 300
ticket_lifetime = 24h
forwardable = yes
[realms]
DOMINIO.IT = {
kdc = ip_server1
kdc = ip_server2
kdc = ip_serverx
admin_server = ip_server1
default_domain = dominio.it
}
[domain_realm]
.raci.it = DOMINIO.IT
.kerberos.server = DOMINIO.IT
sostituire DOMINIO.IT con il nome del dominio in active directory esistente e ip_server1… con gli IP o i nomi dns dei domain controller
3) Testare la connessione con: kinit Administrator@DOMINIO.IT
4) controllare i dati che la Directory service ci restituisce con klist
5) salvare e impostare /etc/samba/smb.conf così:
[global]
netbios name = omega
workgroup = DOMINIO
enable privileges = yes
realm = DOMINIO.IT
server string = Server Cartelle Condivise
preferred master = no
password server = ip_server1 ip_server2 ip_serverx
remote announce = ip_rele_locale/24
dns proxy = no
name resolve order = lmhosts host wins bcast
log file = /var/log/samba/log.%m
log level = 10
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d load printers = no
security = ads
encrypt passwords = true
socket options = TCP_NODELAY
message command = /bin/sh -c ‘/usr/bin/linpopup “%f” “%m” %s; rm %s’ &
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
winbind use default domain = yes
sostituire DOMINIO.IT con il nome del dominio in active directory esistente e ip_server1… con gli IP o i nomi dns dei domain controller
6) riavviare samba con /etc/init.d/samba restart
7) unire la macchina a dominio con net ads join -U administrator (inserire poi la password)
8) testare il tutto con:
wbinfo -u per ottenere una lista utenti del dominio
wbinfo -g per ottenere una lista dei gruppi del dominio
9) Istruire linux per cercare le autenticazioni sul dominio e non in locale, per far questo salvare ed editare /etc/nsswitch.conf modificando tre righe così:
passwd: compat winbind
shadow: compat winbind
group: compat winbind
10) Istruire linux su cosa fare all’autenticazione, aggiungere queste righe in:
/etc/pam.d/common-account
account sufficient pam_unix.so
account sufficient pam_winbind.so
/etc/pam.d/common-auth
auth sufficient pam_unix.so nullok_secure
auth sufficient pam_winbind.so try_first_pass
11) Creare le home directory degli utenti, a proposito come test se tutto ok aggiungerei in fondo a /etc/samba/smb.conf le condivisioni:
[homes]
comment=Cartella Personale di %S
path = /home/DOMINIO/user/%S
valid users = %S
read only = No
browseable = No
writeable = yes
create mode = 0775
[Pubblica]
path=/home/Pubblica
comment = “Directory Pubblica”
read only = no
guest ok = no
create mask = 0777
directory mask = 0777
valid users = @”domain users”
Fine.
Linux Samba Active Directory,
grazie per la guida molto sintetica, riscontro però un problema nella configurazione che sto tentando di replicare con Ubuntu 16.4 LTS, quando utilizzo il comando per avere una lista dei gruppi o degli utenti ricevo il seguente errore:
error looking up domain user
dove posso aver sbagliato?
grazie.