Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoClaudio Sole Modificato 8 anni fa
1
SAMBA per condividere informazioni tra ambienti eterogenei
2
Scopriamolo insieme! Cosa sono il Software Libero e GNU/Linux?
3
Cos'è il Software Libero? Il software libero è software pubblicato con una licenza che permette a chiunque di utilizzarlo e che ne incoraggia lo studio, le modifiche e la redistribuzione, incentrandosi sulla libertà dell'utente e non solo sull'apertura del codice sorgente, che è comunque un pre-requisito del software libero.
4
Quattro libertà fondamentali ● Libertà 0: Libertà di eseguire il programma per qualsiasi scopo. ● Libertà 1: Libertà di studiare il programma e modificarlo. ● Libertà 2: Libertà di copiare il programma in modo da aiutare il prossimo. ● Libertà 3: Libertà di migliorare il programma e di distribuirne pubblicamente i miglioramenti, in modo tale che tutta la comunità ne tragga beneficio.
5
Cos'è GNU/Linux Linux (o GNU/Linux) è un sistema operativo libero di tipo Unix costituito dall'integrazione del kernel (cuore del sistema) Linux con elementi del sistema GNU e di altro software sviluppato e distribuito con licenza GNU GPL o con altre licenze libere.
6
Storia ● Il software libero nasce negli anni '80 quando ci si è accorti che quello proprietario frenava fortemente lo sviluppo e la collaborazione ● Il progetto GNU nel 1983 da il via al primo sistema operativo libero ● Nel 1991 GNU si fonde con Linux e da vita al sistema operativo tutt'oggi in uso ● Dagli anni '90 in poi vengono sviluppate tantissime distribuzioni che raccolgono il software per renderlo facilmente fruibile
7
Le distribuzioni Per distribuzione, si intende una raccolta di programmi precompilati sotto forma di pacchetti che facilitano l’installazione di un sistema operativo GNU/Linux. Esistono moltissime distribuzioni, circa 200, ciascuna con particolari caratteristiche ideate per specifici target di applicazione e tipologie di utenti.
8
SAMBA per condividere informazioni tra ambienti eterogenei
9
Che cosè SAMBA ? ● Samba è un progetto libero che fornisce servizi di condivisione di file e stampanti a client SMB/CIFS. ● Samba è liberamente disponibile, al contrario di altre implementazioni SMB/CIFS, e permette di ottenere interoperabilità tra Linux, Unix, Mac OS X e Windows.
10
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).
11
Come possiamo integrare SAMBA in una struttura già esistente ? ● La soluzione proposta in questo “talk” 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
12
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)
13
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 ● 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)
14
Quali sono i servizi proposti per realizzare la soluzione ? ● SAMBA opportunamente configurato per utilizzare AD e l'autenticazione tramite Kerberos !
15
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.
16
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
17
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
18
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
19
Installiamo SAMBA apt-get install samba smbclient smbfs winbind ● In realtà smbclient e smbfs ci servono per effettuare solo dei test di funzionamento !
20
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 !
21
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.
22
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
23
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
24
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
25
Modifichiamo nsswitch perchè usi winbind # /etc/nsswitch.conf passwd: compat winbind group: compat winbind
26
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
27
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
28
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
29
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
30
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
31
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
32
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.
33
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
34
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
35
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 !!)
36
DOMANDE ?
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.