La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

SAMBA per condividere informazioni tra ambienti eterogenei.

Presentazioni simili


Presentazione sul tema: "SAMBA per condividere informazioni tra ambienti eterogenei."— Transcript della presentazione:

1 SAMBA per condividere informazioni tra ambienti eterogenei

2 ● Che cos'è SAMBA ? ● Samba è un progetto libero che fornisce servizi di condivisione di file e stampanti a client SMB/CIFS. ● Samba è liberamente disponibile e permette di ottenere interoperabilità tra Linux, Unix, Mac OS X e Windows.

3 ● Che cos'è SAMBA ? ● Samba è un software che può girare su piattaforme che non siano Microsoft Windows, per esempio, UNIX, Linux, IBM System 390, OpenVMS e altri sistemi operativi. Samba utilizza il protocollo TCP/IP sfruttando i servizi offerti sul server ospite. Quando correttamente configurato, permette di interagire con client o server Microsoft Windows come se fosse un file e print server Microsoft agendo da Primary Domain Controller (PDC) o come Backup Domain Controller, può inoltre prendere parte ad un dominio Active Directory (dalla versione 4 potrà essere integrato in AD come un normale Domain Controller).

4 ● Come possiamo integrare SAMBA ● in una struttura già esistente ? ● La soluzione proposta questa sera prevede che in rete sia già presente un servizio Active Directory di Microsoft ● Il file server SAMBA dovrà condividere delle cartelle presenti sul server samba con i vari utenti/gruppi di AD

5 ● Quali sono i servizi proposti ● per realizzare la soluzione ? ● Active Directory di Microsoft (solo perché vogliamo integrare SAMBA in una struttura pre- esistente, ma in realtà SAMBA + OpenLDAP + Kerberos, opportunamente configurati potrebbe potenzialmente sostituire AD). ● DNS e DHCP installati, per semplicità, sullo stesso server AD (anche in questo caso i servizi DNS e DHCP potrebbero essere configurati su di un server Linux)

6 ● Quali sono i servizi proposti ● per realizzare la soluzione ? ● NTP – Network Time Protocol, necessario a mantenere sincronizzati gli orologi di tutti i server e i pc della rete

7 ● Quali sono i servizi proposti ● per realizzare la soluzione ? ● Kerberos – Kerberos è un protocollo di rete per l'autenticazione tramite crittografia che permette a diversi terminali di comunicare su una rete informatica insicura provando la propria identità e cifrando i dati (vengono utilizzati dei “token” al posto di utente e password) ● http://www.zeroshell.net/kerberos/Kerberos-operation/ http://www.zeroshell.net/kerberos/Kerberos-operation/

8 ● Quali sono i servizi proposti ● per realizzare la soluzione ? ● SAMBA opportunamente configurato per utilizzare AD e l'autenticazione tramite Kerberos !

9 ● Iniziamo con il servizio NTP ● Installiamo il servizio NTP lato SERVER su di una macchina a scelta (es. il gateway di rete), tutti i pc e i server della rete utilizzeranno il servizio NTP lato CLIENT per mantenere sincronizzati i propri orologi.

10 ● NTP lato SERVER ● apt-get install ntp ● NTP lato CLIENT ● apt-get install ntp ● modificare il contenuto del file /etc/ntp.conf ● server IP_DEL_SERVER_NTP ● #server 0.debian.pool.ntp.org iburst dynamic ● #server 1.debian.pool.ntp.org iburst dynamic ● #server 2.debian.pool.ntp.org iburst dynamic ● #server 3.debian.pool.ntp.org iburst dynamic

11 ● Installiamo il client Kerberos ● apt-get install krb5-user krb5-config krb5-doc ● Configuriamo il file /etc/krb5.conf e verifichiamo che tutto funzioni correttamente ● [libdefaults] ● default_realm = NOME_ASSEGNATO_AL_REALM ● [realms] ● NOME_ASSEGNATO_AL_REALM = { ● kdc = indirizzo_ip_del_server_microsoft ● admin_server = indirizzo_ip_del_server_microsoft ● } ● [domain_realm] ● nomeserver.dominio.locale = NOME_ASSEGNATO_AL_REALM ●.dominio.locale = NOME_ASSEGNATO_AL_REALM ● dominio.locale = NOME_ASSEGNATO_AL_REALM

12 ● Testiamo il client Kerberos ● kinit -V utente → per ricevere un token dal server ● klist → per visualizzare l'elenco dei token ● kdestroy → per cancellare i token ricevuti

13 ● Installiamo SAMBA ● apt-get install samba smbclient smbfs winbind ● In realtà smbclient e smbfs ci servono per effettuare solo dei test di funzionamento !

14 ● SERVIZI - SAMBA ● Sul server samba sono in esecuzione 3 servizi: ● smbd per i servizi di condivisione di file e stampanti. ● nmbd per il servizio di risoluzione dei nomi NetBIOS e di assistenza al browsing delle risorse. ● winbind, che in questo caso è il vero “collettore” tra il mondo linux e il mondo Microsoft !

15 Configuriamo opportunamente PAM perché utilizzi winbind Pluggable Authentication Modules: è un meccanismo per integrare più schemi di autenticazione a basso livello in un'unica API ad alto livello In parole povere è IL sistema di autenticazione a “moduli” utilizzato da linux per gestire l'autenticazione degli utenti.

16 Modifichiamo PAM perchè usi winbind # /etc/pam.d/common-auth - authentication settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authentication modules that define # the central authentication scheme for use on the system # (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the # traditional Unix authentication mechanisms. # #auth required pam_unix.so nullok_secure auth sufficient pam_winbind.so auth sufficient pam_unix.so nullok_secure use_first_pass

17 Modifichiamo PAM perchè usi winbind # /etc/pam.d/common-account - authorization settings common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of the authorization modules that define # the central access policy for use on the system. The default is to # only deny service to users whose accounts are expired in /etc/shadow. # #account required pam_unix.so account sufficient pam_winbind.so account sufficient pam_unix.so

18 Modifichiamo PAM perchè usi winbind # /etc/pam.d/common-session - session-related modules common to all services # # This file is included from other service-specific PAM config files, # and should contain a list of modules that define tasks to be performed # at the start and end of sessions of *any* kind (both interactive and # non-interactive). The default is pam_unix. # # session required pam_unix.so session required pam_mkhomedir.so skel=/etc/skel/ umask=0077 session required pam_unix.so

19 Modifichiamo nsswitch perchè usi winbind # /etc/nsswitch.conf passwd: compat winbind group: compat winbind in sostanza si dice a linux di utilizzare winbind per interrogare l'elenco degli utenti e dei gruppi !! per maggiori informazioni su cos'è nsswitch: http://en.wikipedia.org/wiki/Name_Service_Switch

20 Configuriamo il file /etc/samba/smb.conf [global] workgroup = NOME_DOMINIO_NEL_FORMATO_NETBIOS realm = NOME_ASSEGNATO_AL_REALM server string = %h server security = ADS password server = indirizzo_ip_del_server_microsoft obey pam restrictions = Yes passdb backend = tdbsam pam password change = Yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully*. unix password sync = Yes syslog = 0 log file = /var/log/samba/log.%U max log size = 1000 name resolve order = lmhosts host wins bcast socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

21 Configuriamo il file /etc/samba/smb.conf load printers = No dns proxy = No wins server = indirizzo_ip_del_server_microsoft panic action = /usr/share/samba/panic-action %d idmap backend = idmap_rid:DOMINIO_NETBIOS=10000-50000 idmap uid = 10000-50000 idmap gid = 10000-50000 winbind enum users = Yes winbind enum groups = Yes winbind use default domain = Yes template shell = /bin/ template homedir = /home/%D/%U valid users = %S

22 ● Facciamo ripartire i servizi ● winbind e samba ● Aggiungiamo il server SAMBA ● al dominio ● /etc/init.d/samba restart ● /etc/init.d/winbind restart ● net ads join -U Administrator ● /etc/init.d/winbind restart

23 ● Verifichiamo che il file di configurazione di Samba sia corretto. ● testparm

24 ● Facciamo alcune prove ● getent passwd → per visualizzare l'elenco degli utenti locali e di tutti gli utenti del dominio ● getent group → per visualizzare l'elenco dei gruppi locali e di tutti i gruppi del dominio ● wbinfo -u → per visualizzare l'elenco dei soli utenti del dominio ● wbinfo -g → per visualizzare l'elenco dei soli gruppi del dominio

25 ● Andiamo a creare una cartella ● che verrà condivisa per i nostri test ● e assegnamola ad un gruppo del ● dominio. ● mkdir /condivisa ● chgrp permessi-commerciali /condivisa ● chmod 770 /condivisa

26 ● Apportiamo alcune modifiche al ● nostro server SAMBA per condividere la cartella in rete. ● [condivisa] ● comment = cartella condivisa di prova ● path = /condivisa ● read list = @permessicommerciali ● write list = @permessicommerciali ● read only = No ● create mask = 0660 ● directory mask = 0770 ● Facciamo caricare a samba (smbd) le nuove impostazioni ● /etc/init.d/samba reload

27 ● Esiste un'interfaccia grafica che mi ● permette di gestire la configurazione ● del server SAMBA ? ● apt-get install swat ● http://ip_del_server_samba:901 ● NB. dopo aver installato swat è necessario effettuare un riavvio del server.

28 Come integrare un client linux in un Active Directory ?

29 ● Configuriamo il nostro client linux per l'autenticazione tramite Kerberos ● #apt-get install ntp ● #apt-get install samba-common winbind ● #apt-get install krb5-user krb5-config krb5-doc libpam-krb5 ● configuriamo il file /etc/krb5.conf come visto prima ● configuriamo samba e aggiungiamo il client al dominio come visto in precedenza ● modifichiamo i file nella cartella /etc/pam.d per gestire l'autenticazione tramite kerberos ● modifichiamo il file /etc/nsswitch.conf per winbind

30 Configuriamo il nostro client per l'autenticazione tramite Kerberos # /etc/pam.d/common-auth auth sufficient pam_krb5.so ccache=/tmp/krb5cc_%u auth sufficient pam_unix.so likeauth nullok_secure use_first_pass auth required pam_deny.so # /etc/pam.d/common-account account required pam_unix.so account [default=bad success=ok user_unknown=ignore service_err=ignore system_err=ignore] pam_krb5.so minimum_uid=10000 # /etc/pam.d/common-session session required pam_unix.so session optional pam_foreground.so session optional pam_krb5.so minimum_uid=10000 session required pam_mkhomedir.so umask=0077 skel=/etc/skel

31 Configuriamo nsswitch # /etc/nsswitch.conf passwdcompat winbind groupcompat winbind Alcune note: - configurare l'interfaccia di rete direttamente tramite il file /etc/network/interfaces e disattivare network manager (NetworkManager può creare dei ritardi in fase di autenticazione !!)

32 Come copiare file da una parte ad un'altra ? scp – per copiare file tra sistemi linux ftp – penso lo conosciamo tutti (tcpdump src IPSORG and dst IPDEST and port ftp -A) smbclient – client testuale per connettersi ad un server samba/cifs filezilla – per copiare file tramite ftp.... oppure sfruttando ssh

33 ● DOMANDE ?


Scaricare ppt "SAMBA per condividere informazioni tra ambienti eterogenei."

Presentazioni simili


Annunci Google