Server Samba con Debian 6.0.0 Squeeze Creerò le cartelle una per ogni ufficio esempio: - documenti // per tutti solo lettura e per utente amministratore tutto - magazzino // tutto per utenti mag1,mag2,mag3 e per utente amministratore - personale // tutto per utenti pers1,pers2,pers3 e per utente amministratore - ragioneria // tutto per utenti rag1,rag2,rag3 e per utente amministratore - riunioni // tutto per utenti mag1,pers1,rag1 e per utente amministratore - tutti // tutto per tutti lettura e scrittura Debian Squeeze 6.0.0 (no gdm) DATA 09-02-2011 Samba = 3.5.6 WORKGROUP = DITTA ----------------------------------------------- Debian GNU/Linux 6.0 debian6 tty1 server login: samba Password: _ samba@server:~$ su password: _ Installo samba per debian 6.0.0 apt-get install samba smbfs samba-common samba-doc samba-client Quando richiesto inserisco il WORKGROUP = DITTA Usare le impostazioni WINS da DHCP? NO Verifico la versione di Debian come kernel $ uname r 2.6.32-5-686 Verifico la versione di Samba installata smbstatus 3.5.6 Inizio a creare la struttura delle cartelle sul Server Debian 6.0, creo due SCRIPT BASH il primo crea tutta la struttura (prova1.sh) il secondo esegue una pulizia della struttura (prova0.sh), mi trovo in /home nano prova1.sh!/bin/bash read p Premi un tasto per continuare. mkdir p /home/documenti mkdir p /home/magazzino mkdir p /home/personale mkdir p /home/ragioneria mkdir p /home/riunioni mkdir p /home/tutti groupadd documenti groupadd magazzino groupadd personale groupadd ragioneria groupadd riunioni groupadd tutti password=$(perl e print crypt( 123, password ) ) AGGIUNGENDO -s /bin/bash POTRO ESEGUIRE IL LOGIN SUL SERVER DEBIAN poiché non voglio uso il codice senza useradd -d /home/mag1 -G magazzino,riunioni -c "Ufficio Magazzino" s /bin/bash p $password -m mag1 useradd -d /home/mag1 -G magazzino,riunioni -c "Ufficio Magazzino" p $password -m mag1 useradd -d /home/mag2 -G magazzino -c "Ufficio Magazzino" p $password -m mag2 useradd -d /home/mag3 -G magazzino -c "Ufficio Magazzino" p $password -m mag3 useradd -d /home/pers1 -G personale,riunioni -c "Ufficio Personale" p $password -m pers1 useradd -d /home/pers2 -G personale -c "Ufficio Personale" p $password -m pers2 useradd -d /home/pers3 -G personale -c "Ufficio Personale" p $password -m pers3 useradd -d /home/rag1 -G ragioneria,riunioni -c "Ufficio Ragioneria" p $password -m rag1 useradd -d /home/rag2 -G ragioneria -c "Ufficio Ragioneria" p $password -m rag2 useradd -d /home/rag3 -G ragioneria -c "Ufficio Ragioneria" p $password -m rag3 usermod G documenti,magazzino,personale,ragioneria,riunioni,tutti samba chgrp R documenti /home/documenti chgrp R magazzino /home/magazzino chgrp R personale /home/personale chgrp R ragioneria /home/ragioneria chgrp R riunioni /home/riunioni chgrp R tutti /home/tutti 1
Imposto i permessi sulle cartelle in modo tale che gli utenti non possono entrare dove non sono autorizzati " (-R modalità ricorsiva per ereditare i diritti nelle sottocartelle e nei files) Il diritto 2 fa si che i files siano del gruppo associato all utente (-G) e non quello originale dell utente (-g) chmod R 2755 /home/documenti chmod R 2770 /home/magazzino chmod R 2770 /home/personale chmod R 2770 /home/ragioneria chmod R 2770 /home/riunioni chmod R 2777 /home/tutti chmod g+s /home/documenti chmod g+s /home/magazzino chmod g+s /home/personale chmod g+s /home/ragioneria chmod g+s /home/riunioni chmod g+s /home/tutti chmod R 700 /home/mag1 chmod R 700 /home/mag2 chmod R 700 /home/mag3 chmod R 700 /home/pers1 chmod R 700 /home/pers2 chmod R 700 /home/pers3 chmod R 700 /home/rag1 chmod R 700 /home/rag2 chmod R 700 /home/rag3 Premo CTRL+X poi S chmod u+x prova1.sh Per avviare questo batch./prova1.sh smbpasswd a mag1 New SMB password: 123 Retype new SMB password: 123 Added user mag1 smbpasswd a mag2 smbpasswd a mag3 smbpasswd a pers1 smbpasswd a pers2 smbpasswd a pers3 smbpasswd a rag1 smbpasswd a rag2 smbpasswd a rag3 smbpasswd a samba Creo una copia del file di configurazione smb.conf. L opzione -p indica di mantenere inalterati gli attributi del file (data, permessi, proprietari, ecc.) cp p /etc/samba/smb.conf /etc/samba/smb.conf.old Modifico il file smb.conf (riporto le parti non commentate) nano /etc/samba/smb.conf [global] workgroup = DITTA server string = Debian Server dns proxy = no log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d Authnetication security = share security = user encrypt passwords = true obey pam restrictions = yes invalid users = guest,root unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew...etc... pam password change = yes 2
========== Share Definitions ============= [homes] comment = Home di %U browsable = no create mask = 0700 directory mask = 0700 valid users = %S veto files = /*.mp3/ /*.wav/ /*.mpeg/ /*.avi/ [printers] comment = All Printers browsable = no path = /var/spool/samba printable = yes create mask = 0700 [print$] comment = Printer Drivers path = /var/lib/samba/printers [documenti] comment = Documenti DITTA path = /home/documenti available = yes guest ok = yes [magazzino] comment = Ufficio Magazzino path = /home/magazzino force group = +magazzino [personale] comment = Ufficio Personale path = /home/personale force group = +personale [ragioneria] comment = Ufficio Ragioneria path = /home/ragioneria force group = +ragioneria [riunioni] comment = Ufficio Riunioni path = /home/riunioni force group = +riunioni [tutti] comment = Documenti Tutti path = /home/tutti available = yes guest ok = yes Salvo il file smb.conf e controllo la configurazione testparm 3
Verifico lo stato di samba smbstatus (3.5.6) smbclient -V (3.5.6) Restarto il servizio di samba /etc/init.d/samba restart stop start Il server riparte correttamente quando entro sulla rete nel gruppo di lavoro "DITTA" da windows e clicco sul PC (Debian Server) mi visualizza le seguenti cartelle: Nome Commenti ---------------------- ------------------------------------------------- Debian Server (server) Debian Server Nome Commenti ---------------------- ------------------------------------------------- documenti Documenti DITTA magazzino Ufficio Magazzino personale Ufficio Personale ragioneria Ufficio Ragioneria riunioni Ufficio Riunioni tutti Documenti Tutti Stampanti e fax Mostra le stampanti e le stampanti fax installate Entro da windows con utente samba - documenti - leggo i files ma non li modifico. [ O K ] - magazzino - Messaggio Impossibile accedere \\Server\Magazzino [ O K ] - personale - Messaggio Impossibile accedere \\Server\Personale [ O K ] - ragioneria - Messaggio Impossibile accedere \\Server\Ragioneria [ O K ] - riunioni - Messaggio Impossibile accedere \\Server\Riunioni [ O K ] - tutti - Leggo modifico e cancello i files. [ O K ] Entro da windows con utente rag1 - documenti - leggo i files ma non li modifico. [ O K ] - magazzino - Messaggio Impossibile accedere \\Server\Magazzino [ O K ] - personale - Messaggio Impossibile accedere \\Server\Personale [ O K ] - pubblica - leggo modifico e cancello i files. [ O K ] - ragioneria - leggo modifico e cancello i files. [ O K ] - rag1 - leggo modifico e cancello i files. [ O K ] - riunioni - leggo modifico e cancello i files. [ O K ] Se voglio cancellare gli utenti presenti in samba (non in debian server) dal prompt digito smbpasswd x mag1 etc.. Inizio a creare la struttura per la pulizia delle cartelle e dei permessi, mi trovo in /home nano prova0.sh!/bin/bash read p Premi un tasto per continuare. rm -rf /home/documenti rm -rf /home/magazzino rm -rf /home/personale rm -rf /home/ragioneria rm -rf /home/riunioni rm -rf /home/tutti rm -rf /home/mag1 rm -rf /home/mag2 rm -rf /home/mag3 rm -rf /home/pers1 rm -rf /home/pers2 rm -rf /home/pers3 rm -rf /home/rag1 rm -rf /home/rag2 rm -rf /home/rag3 groupdel documenti groupdel magazzino groupdel personale groupdel ragioneria groupdel riunioni groupdel tutti userdel mag1 userdel mag2 userdel mag3 userdel pers1 userdel pers2 userdel pers3 userdel rag1 4
userdel rag2 userdel rag3 Premo CTRL+X poi S chmod u+x prova0.sh Per avviare questo batch./prova0.sh Creare un DNS con una soluzione diciamo di "fantasia", su un pc windows xp pro ho messo nel file hosts i vari pc C:\WINDOWS\system32\drivers\etc\hosts Copyright (c) 1993-1999 Microsoft Corp. Questo è un esempio di file HOSTS usato da Microsoft TCP/IP per Windows. Questo file contiene la mappatura degli indirizzi IP ai nomi host. Ogni voce dovrebbe occupare una singola riga. L'indirizzo IP dovrebbe trovarsi nella prima colonna seguito dal nome host corrispondente. L'indirizzo e il nome host dovrebbero essere separati da almeno uno spazio o punto di tabulazione. È inoltre possibile inserire commenti (come questi) nelle singole righe o dopo il nome del computer caratterizzato da un simbolo ''. Per esempio: 102.54.94.97 rhino.acme.com server origine 38.25.63.10 x.acme.com client host x 127.0.0.1 localhost 192.168.1.11 pc-1 192.168.1.12 pc-2 192.168.1.13 pc-3 5