SlideShare a Scribd company logo
1 of 50
www.riminilug.it
info@riminilug.it
Mini Corso su LINUX
Martedì, 19 aprile 2016
Networking & Terminal
Alessandro Carichini
alexsoft@riminilug.it
Dove ci eravamo lasciati?
Installazione & Post Linux Mint 17.3 (rosa)
www.riminilug.it
info@riminilug.it
Network: nomenclatura di base
● LAN (Local Area Network)
● Rete locale (tutti gli apparati si trovano nella
stesso edificio/area)
● WAN (Wide Area Network)
● Gruppi di LAN sparsi geograficamente che
dialogano attraverso modem/routers (Internet)
www.riminilug.it
info@riminilug.it
Network: gli strumenti (hardware)
● Router ADSL
● connessione alla “nuvola” Internet
● Switch
● Connettere più dispositivi al router
● Wi-Fi
● Connettere più dispositivi senza fili al router
● Repeater Wi-Fi
● Per estendere la portata del Wi-Fi
● Scheda di Rete (PC)
● Cavo RJ-45 (Ethernet)
● Wi-Fi
www.riminilug.it
info@riminilug.it
Struttura di una LAN casalinga
www.riminilug.it
info@riminilug.it
Network: strumenti x configurare
● Preferenze: Connessioni di rete
● Applet: System Tray
● Terminal: Shell dei comandi
ifconfig / iwconfig
File di configurazione /etc/network/interfaces
www.riminilug.it
info@riminilug.it
Network: Indirizzamento
● Dinamico:
● Server DHCP (Dynamic Host Configuration Protocol)
router ADSL/WiFi
● Manuale:
● Classe IP del router (default 192.168.1.0)
● Subnet mask: 255.255.255.0
● Gateway: il router (192.168.1.1)
● DNS: router o specifico (Google, OpenDNS..)
www.riminilug.it
info@riminilug.it
Network: Classe IP
Nazione.Città.Strada.Nr_Civico
www.riminilug.it
info@riminilug.it
Network: interfaces
Configurazione /etc/network/interfaces
www.riminilug.it
info@riminilug.it
Network: DNS / Hostname
/etc/resolv.conf
nameserver 192.168.1.1
nameserver 8.8.8.8
nameserver 8.8.4.4
/etc/hosts
127.0.0.1 localhost
192.168.1.1 myrouter
192.168.1.10 alexhome
192.168.1.20 raspberry
www.riminilug.it
info@riminilug.it
Network: strumenti x monitorare
● Terminale: Shell dei comandi
● Classico:
ping <indirizzo_ip>
● Avanzato:
nmap [options] <target_ip>
● Grafico: ZenMap
www.riminilug.it
info@riminilug.it
ZenMap
apt-get install zenmap
www.riminilug.it
info@riminilug.it
Network Services
 File Server
 Documenti, immagini, video, musica…
 Print Server
 Una stampante e più pc collegati
 Web Server
 Gestione mini sito
 FTP Server
 Per la gestione di qualche webcam
 Mail Server
Gestione della posta elettronica
www.riminilug.it
info@riminilug.it
Cosa vedremo oggi?
 File Server
 Samba (SMB)
 Print Server
 CUPS
 FTP Server
 VSFTP
www.riminilug.it
info@riminilug.it
Samba (SMB)
● Samba?
● Protocollo SMB (Server Message Block) di
Microsoft
● E’già installato?
● Dovrebbe ma nel dubbio un bel
sudo apt-get install samba
● Configurazione ibrida (grafico/shell)
● Condivisione dir (desktop)
● Creazione utenti (terminal)
www.riminilug.it
info@riminilug.it
Samba: Configurazione soft
Condivisione dir:
Creazione utente:
smbpasswd -a username
www.riminilug.it
info@riminilug.it
Samba: Configurazione hard
/etc/samba/smb.conf
[shared]
comment = Cartella condivisa # Commento sulla condivisione
path = /cartella/da/condividere # Percorso della condivisione
browseable = yes # Rende visibile la condivisione
public = yes # Rende la cartella accessibile
create mask = 0755 # Permessi dei file
sudo service smbd restart
http://wiki.ubuntu-it.org/Server/Samba
www.riminilug.it
info@riminilug.it
CUPS
● Common UNIX Printing System
● Gestione della coda di stampa
● Installato default
sudo apt-get install cups
● Configurazione Web
http://localhost:631
● Aggiungi stampanti e classi
● Aggiungi una stampante
● Locale (USB)
● Rete
www.riminilug.it
info@riminilug.it
CUPS: aggiungi stampante
www.riminilug.it
info@riminilug.it
CUPS: ultime considerazioni
● E’ come SAMBA e andare in bicicletta
Una volta imparato….
● Abilitare l’accesso web da remoto
/etc/cups/cupsd.conf
Listen localhost:631
Listen 192.168.1.41:631
Nei <Location /> e <Location /Admin> aggiungere
Allow 192.168.1.*
●
www.riminilug.it
info@riminilug.it
VSFTP
● FTP (File Transfert Protocol)
● Ha la mia età (1971)
● E’ ancora il sistema più usato per trasferire file
tra “mondi” diversi
● VSFTP (FTP Server)
sudo apt-get install vsftpd
Solito file /etc/vsftpd.conf
● Abilitare accesso anonymous
● Abilitare utenti locali
www.riminilug.it
info@riminilug.it
VSFTP: configurazione
/etc/vsftpd.conf
anonymous_enabled=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
local_enables=YES
write_enable=YES
sudo service vsftpd restart
http://wiki.ubuntu-it.org/Server/Ftp
www.riminilug.it
info@riminilug.it
Tutto chiaro?
www.riminilug.it
info@riminilug.it
Terminale Shell
● Accessori: Terminale
● Prompt dei comandi Linux
www.riminilug.it
info@riminilug.it
Differenze con cmd.exe?
www.riminilug.it
info@riminilug.it
Differenze con cmd.exe?
● I percorsi (PATH)
● Le barre (slash / e backslash )
● Le lettere dei drive rispetto ai punti di mount
● Il nome del comando ma non la logica di
funzionamento
● Redirezione <>
● Wild Card ?* (caratteri jolly)
● Pipeline | (condotto per passare i risultati a più
comandi)
www.riminilug.it
info@riminilug.it
Comandi Unix-Like essenziali (1)
● cp copia file
● cd cambia dir
● mkdir crea dir
● rm rimuove file/dir
● mv sposta/rinomina file/dir
● ls elenca file
● cat legge (concatena) file nello STD output
● find trova file
www.riminilug.it
info@riminilug.it
Comandi Unix-Like essenziali (2)
● grep cerca stringa nei file
● more blocca lo scorrimento a videata
● wc conta parole e caratteri
● echo mostra una riga di testo
● chmod cambia attributi utente dei file
● chgrp cambia attributi gruppo dei file
● file indica la tipologia del file
● tar comprime/decomprime file
www.riminilug.it
info@riminilug.it
Attenzione a certi comandi
www.riminilug.it
info@riminilug.it
http://www.corriere.it/tecnologia/provati-per-voi/16_aprile_15/sbaglia-comando-cancella-azienda-storia-italiano-marco-marsala-dd252b48-02ea-11e6-a3a1-
5b22ca0a1360.shtml
Ambiente Shell
 Struttura file/directory Unix-Like
 Variabili d’ambiente predefinite
$PATH .. $HOME .. $LOGNAME .. $SHELL
 Permessi (attributi) file/directory
www.riminilug.it
info@riminilug.it
Linguaggi di Scripting
● BASH (Linux, OSX, ...)
● Python (Linux, OSX, Windows)
● Perl (Linux, OSX, Windows)
● Ruby (Linux, OSX, Windows)
www.riminilug.it
info@riminilug.it
BASH su Windows 10
Inserita nell’aggiornamento estivo “Anniversary”
www.riminilug.it
info@riminilug.it
https://channel9.msdn.com/Events/Build/2016/P488?ocid=player
http://blog.dustinkirkland.com/2016/04/howto-ubuntu-on-windows.html
Editor di Testo (Plain Text)
 Default (Editor di Testo, GEdit)
 Grafici da installare
 Scite
 Geany
 Brackets
 Terminal
 nano
 vi (VIM)
www.riminilug.it
info@riminilug.it
BASH: le basi
● Estensione .sh (per classificarlo)
● File reso eseguibile chmod +x myscript.sh
● La prima riga per indicare l’interprete
#!/bin/bash
● La sequenza dei comandi da eseguire
● Esecuzione dello script
./myscript.sh
oppure inserirlo nel $PATH
www.riminilug.it
info@riminilug.it
BASH: le variabili
● Il contenuto identifica il tipo
nomevar=”Alessandro”
nomevar=10
● Viene identificata col simbolo $
ma non quando viene assegnata
● Non vanno inseriti spazi tra il nome della
variabile e il suo valore (si usano le “ ” per le stringhe)
● Sono case sensitive (differenza tra maiuscolo e minuscolo)
www.riminilug.it
info@riminilug.it
BASH: le strutture di controllo
● Condizioni (if)
if [ condizione ]
then
comando
else
comando
fi
www.riminilug.it
info@riminilug.it
if [ $Conta == 10 ]
then
echo "Finito"
else
((Conta=Conta+1))
fi
BASH: gli operatori logici
www.riminilug.it
info@riminilug.it
BASH: cicli (while)
www.riminilug.it
info@riminilug.it
while [ True ]
do
if [ $Conta == 10 ]
then
echo "Finito"
exit
else
((Conta=Conta+1))
fi
done
BASH: cicli (for)
www.riminilug.it
info@riminilug.it
for ((Conta=1;Conta<=10;Conta=Conta+1)
do
echo $Conta
done
for file in *
do
echo $file
done
BASH: interfaccia grafica?
● Zenity (GNOME)
sudo apt-get install zenity
● Creazione di dialog box all’interno di script shell
zenity --info --title "Info BOX" --text "Esempio di info
dialognRiminiLUG"
www.riminilug.it
info@riminilug.it
BASH: Zenity
www.riminilug.it
info@riminilug.it
zenity
--help-
Application
Options
Esempi:
zenity --help-entry
zenity --help-info
BASH: qualche esempio
● Backup $HOME
● Monitor di Rete
● Resize di immagini
● Player Mp3
www.riminilug.it
info@riminilug.it
Esempio: Backup
#!/bin/bash
MYHOME=$HOME
MYDEST=/work/bak
FILE_BAK=$MYDEST"/"$(date +%Y%m%d_%H%M%S)".tar.gz"
if [ ! -e $MYDEST ]
then
mkdir $MYDEST
fi
> $FILE_BAK
tar -zcvf $FILE_BAK $HOME/*
www.riminilug.it
info@riminilug.it
Esempio: Monitor di rete
IP_NET="192.168.1."
MAX_HOST=254
FILE_OUT=$(date +%Y%m%d_%H%M%S)".log"
> $FILE_OUT
for (( ihost = 1;ihost <= $MAX_HOST; ihost++ ))
do
IP=$IP_NET$ihost
ping -c 1 $IP > /dev/null
if [ "$?" == 0 ]
then
echo "Trovato: " $IP
echo $IP >> $FILE_OUT
fi
done
www.riminilug.it
info@riminilug.it
Esempio: Resize immagini
#
# http://www.imagemagick.org
#
conta=0
for file in *.JPG
do
echo Converto $file
convert "$file" -resize 50% mini_"$file"
((conta=conta+1))
echo $conta
done
echo totale file ridimensionati $conta
www.riminilug.it
info@riminilug.it
Esempio: Player mp3
PLAYER=”/usr/bin/mpg321”
DIR=$(zenity --file-selection --directory )
echo "Directory selezionata: $DIR"
for file in $DIR/*.mp3
do
if [ -e “$file” ]
then
echo “Playing: “ $(basename “$file”)
$PLAYER "$file"
fi
done
www.riminilug.it
info@riminilug.it
Manuali BASH
● http://wiki.ubuntu-it.org/Programmazione/LinguaggioBash
● http://www.aquilante.net/doc/bash_programming.pdf
● http://www.html.it/guide/shell-scripting-la-guida/
www.riminilug.it
info@riminilug.it
Caso reale, come esempio pratico
www.riminilug.it
info@riminilug.it
Poche istruzioni per recuperare PDF
 Dir cache di Firefox
 Comandi Linux:
find
file
grep
find . -exec file {} ; | grep -i pdf
 Risultato:
./ncniyv8v.default/cache2/entries/F8B40EB3B619E31C34FDEE1C0D19CFB9AD9779F7: PDF document, version 1.4
www.riminilug.it
info@riminilug.it
www.riminilug.it
info@riminilug.it

More Related Content

What's hot

What's hot (6)

Leggimi
LeggimiLeggimi
Leggimi
 
Corso Bash
Corso BashCorso Bash
Corso Bash
 
La shell Bash - Comandi base - Comandi avanzati - Espressioni regolari
 La shell Bash - Comandi base - Comandi avanzati - Espressioni regolari La shell Bash - Comandi base - Comandi avanzati - Espressioni regolari
La shell Bash - Comandi base - Comandi avanzati - Espressioni regolari
 
Seminario introduzione all'uso del terminale e della bash in Linux
Seminario introduzione all'uso del terminale e della bash in LinuxSeminario introduzione all'uso del terminale e della bash in Linux
Seminario introduzione all'uso del terminale e della bash in Linux
 
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatileGlusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
 
Openmoko
OpenmokoOpenmoko
Openmoko
 

Viewers also liked

Wausau West EurekaFest Presentation
Wausau West EurekaFest Presentation Wausau West EurekaFest Presentation
Wausau West EurekaFest Presentation
Brandon Ollhoff
 
Get started with dropbox
Get started with dropboxGet started with dropbox
Get started with dropbox
Aarav Sinha
 
Evaluation Question 5
Evaluation Question 5Evaluation Question 5
Evaluation Question 5
griffin96jake
 
Creating a Dynamic Framework for Human Resource Management
Creating a Dynamic Framework for Human Resource ManagementCreating a Dynamic Framework for Human Resource Management
Creating a Dynamic Framework for Human Resource Management
Tobias Scholz
 
130313 fo wisnet ikt nrw iu k tag 190213 01
130313 fo wisnet ikt nrw iu k tag 190213 01130313 fo wisnet ikt nrw iu k tag 190213 01
130313 fo wisnet ikt nrw iu k tag 190213 01
ErichBehrendt
 

Viewers also liked (20)

Samantha-Lynch
Samantha-LynchSamantha-Lynch
Samantha-Lynch
 
Sneak Peek: A Gold-standard Benchmark for ESG Performance
Sneak Peek: A Gold-standard Benchmark for ESG PerformanceSneak Peek: A Gold-standard Benchmark for ESG Performance
Sneak Peek: A Gold-standard Benchmark for ESG Performance
 
Wausau West EurekaFest Presentation
Wausau West EurekaFest Presentation Wausau West EurekaFest Presentation
Wausau West EurekaFest Presentation
 
Get started with dropbox
Get started with dropboxGet started with dropbox
Get started with dropbox
 
SARA CV
SARA CVSARA CV
SARA CV
 
15 jan
15 jan15 jan
15 jan
 
KJRESUMEMED
KJRESUMEMEDKJRESUMEMED
KJRESUMEMED
 
Evaluation Question 5
Evaluation Question 5Evaluation Question 5
Evaluation Question 5
 
If sulfoxaflor is gone, what else can we use?
If sulfoxaflor is gone, what else can we use?If sulfoxaflor is gone, what else can we use?
If sulfoxaflor is gone, what else can we use?
 
Planejamento de Evento | Repom
Planejamento de Evento |  Repom Planejamento de Evento |  Repom
Planejamento de Evento | Repom
 
Proposta comercial Consultoria Inova Brasil
Proposta comercial Consultoria Inova BrasilProposta comercial Consultoria Inova Brasil
Proposta comercial Consultoria Inova Brasil
 
2011 05-11 IIBA Vendor Webinar- Business Process Modeling
2011 05-11 IIBA Vendor Webinar- Business Process Modeling2011 05-11 IIBA Vendor Webinar- Business Process Modeling
2011 05-11 IIBA Vendor Webinar- Business Process Modeling
 
BOBST_Presentation
BOBST_PresentationBOBST_Presentation
BOBST_Presentation
 
Diversity foundations of an inclusion program executive staff presentation
Diversity foundations of an inclusion program executive staff presentationDiversity foundations of an inclusion program executive staff presentation
Diversity foundations of an inclusion program executive staff presentation
 
Baristas meet Barman
Baristas meet Barman Baristas meet Barman
Baristas meet Barman
 
Creating a Dynamic Framework for Human Resource Management
Creating a Dynamic Framework for Human Resource ManagementCreating a Dynamic Framework for Human Resource Management
Creating a Dynamic Framework for Human Resource Management
 
Martini
MartiniMartini
Martini
 
Postdigitales Marketing - Ideen, Ansätze und Chancen im Umgang mit moderner ...
Postdigitales Marketing - Ideen, Ansätze und Chancen im Umgang  mit moderner ...Postdigitales Marketing - Ideen, Ansätze und Chancen im Umgang  mit moderner ...
Postdigitales Marketing - Ideen, Ansätze und Chancen im Umgang mit moderner ...
 
Ausweg aus den Irrwegen klassischer Organisationsentwicklung
Ausweg aus den Irrwegen klassischer OrganisationsentwicklungAusweg aus den Irrwegen klassischer Organisationsentwicklung
Ausweg aus den Irrwegen klassischer Organisationsentwicklung
 
130313 fo wisnet ikt nrw iu k tag 190213 01
130313 fo wisnet ikt nrw iu k tag 190213 01130313 fo wisnet ikt nrw iu k tag 190213 01
130313 fo wisnet ikt nrw iu k tag 190213 01
 

Similar to RiminiLUG. Mini Corso su Linux p2: Networking & Terminal

Similar to RiminiLUG. Mini Corso su Linux p2: Networking & Terminal (20)

Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018Chi ha paura della command-line? - WordCamp Roma 2018
Chi ha paura della command-line? - WordCamp Roma 2018
 
Glusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatileGlusterfs: un filesystem altamente versatile
Glusterfs: un filesystem altamente versatile
 
Scripting e DataWarehouse sui Big Data. Luca Pireddu (CRS4)
Scripting e DataWarehouse sui Big Data. Luca Pireddu (CRS4)Scripting e DataWarehouse sui Big Data. Luca Pireddu (CRS4)
Scripting e DataWarehouse sui Big Data. Luca Pireddu (CRS4)
 
ClearOS - Linux Small Business Server
ClearOS - Linux Small Business ServerClearOS - Linux Small Business Server
ClearOS - Linux Small Business Server
 
Sametime 8.x configurarlo ed installarlo
Sametime 8.x configurarlo ed installarloSametime 8.x configurarlo ed installarlo
Sametime 8.x configurarlo ed installarlo
 
Introduzione ad ubuntu core - Qt day 2017
Introduzione ad ubuntu core  - Qt day 2017Introduzione ad ubuntu core  - Qt day 2017
Introduzione ad ubuntu core - Qt day 2017
 
Linux Security Hardening - panoramica sui principi generali per la riduzione...
Linux  Security Hardening - panoramica sui principi generali per la riduzione...Linux  Security Hardening - panoramica sui principi generali per la riduzione...
Linux Security Hardening - panoramica sui principi generali per la riduzione...
 
Hardening
HardeningHardening
Hardening
 
Ridirezionamento di I/O con Bash: un breve approfondimento
Ridirezionamento di I/O con Bash: un breve approfondimentoRidirezionamento di I/O con Bash: un breve approfondimento
Ridirezionamento di I/O con Bash: un breve approfondimento
 
introduzione_a_pfSense
introduzione_a_pfSenseintroduzione_a_pfSense
introduzione_a_pfSense
 
X2 Linux Riassunti
X2 Linux RiassuntiX2 Linux Riassunti
X2 Linux Riassunti
 
ClearOS
ClearOSClearOS
ClearOS
 
Progetto Netkit
Progetto NetkitProgetto Netkit
Progetto Netkit
 
Sistemi operativi
Sistemi operativiSistemi operativi
Sistemi operativi
 
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)
 
KDE Plasma widgets
KDE Plasma widgetsKDE Plasma widgets
KDE Plasma widgets
 
Linux@Unina
Linux@UninaLinux@Unina
Linux@Unina
 
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
Git/Continuous Integration/Docker: la terna dello sviluppo moderno.
 
Beryl
BerylBeryl
Beryl
 
Multithreading, multiprocessing e Asincronia
Multithreading, multiprocessing e AsincroniaMultithreading, multiprocessing e Asincronia
Multithreading, multiprocessing e Asincronia
 

RiminiLUG. Mini Corso su Linux p2: Networking & Terminal

  • 1. www.riminilug.it info@riminilug.it Mini Corso su LINUX Martedì, 19 aprile 2016 Networking & Terminal Alessandro Carichini alexsoft@riminilug.it
  • 2. Dove ci eravamo lasciati? Installazione & Post Linux Mint 17.3 (rosa) www.riminilug.it info@riminilug.it
  • 3. Network: nomenclatura di base ● LAN (Local Area Network) ● Rete locale (tutti gli apparati si trovano nella stesso edificio/area) ● WAN (Wide Area Network) ● Gruppi di LAN sparsi geograficamente che dialogano attraverso modem/routers (Internet) www.riminilug.it info@riminilug.it
  • 4. Network: gli strumenti (hardware) ● Router ADSL ● connessione alla “nuvola” Internet ● Switch ● Connettere più dispositivi al router ● Wi-Fi ● Connettere più dispositivi senza fili al router ● Repeater Wi-Fi ● Per estendere la portata del Wi-Fi ● Scheda di Rete (PC) ● Cavo RJ-45 (Ethernet) ● Wi-Fi www.riminilug.it info@riminilug.it
  • 5. Struttura di una LAN casalinga www.riminilug.it info@riminilug.it
  • 6. Network: strumenti x configurare ● Preferenze: Connessioni di rete ● Applet: System Tray ● Terminal: Shell dei comandi ifconfig / iwconfig File di configurazione /etc/network/interfaces www.riminilug.it info@riminilug.it
  • 7. Network: Indirizzamento ● Dinamico: ● Server DHCP (Dynamic Host Configuration Protocol) router ADSL/WiFi ● Manuale: ● Classe IP del router (default 192.168.1.0) ● Subnet mask: 255.255.255.0 ● Gateway: il router (192.168.1.1) ● DNS: router o specifico (Google, OpenDNS..) www.riminilug.it info@riminilug.it
  • 10. Network: DNS / Hostname /etc/resolv.conf nameserver 192.168.1.1 nameserver 8.8.8.8 nameserver 8.8.4.4 /etc/hosts 127.0.0.1 localhost 192.168.1.1 myrouter 192.168.1.10 alexhome 192.168.1.20 raspberry www.riminilug.it info@riminilug.it
  • 11. Network: strumenti x monitorare ● Terminale: Shell dei comandi ● Classico: ping <indirizzo_ip> ● Avanzato: nmap [options] <target_ip> ● Grafico: ZenMap www.riminilug.it info@riminilug.it
  • 13. Network Services  File Server  Documenti, immagini, video, musica…  Print Server  Una stampante e più pc collegati  Web Server  Gestione mini sito  FTP Server  Per la gestione di qualche webcam  Mail Server Gestione della posta elettronica www.riminilug.it info@riminilug.it
  • 14. Cosa vedremo oggi?  File Server  Samba (SMB)  Print Server  CUPS  FTP Server  VSFTP www.riminilug.it info@riminilug.it
  • 15. Samba (SMB) ● Samba? ● Protocollo SMB (Server Message Block) di Microsoft ● E’già installato? ● Dovrebbe ma nel dubbio un bel sudo apt-get install samba ● Configurazione ibrida (grafico/shell) ● Condivisione dir (desktop) ● Creazione utenti (terminal) www.riminilug.it info@riminilug.it
  • 16. Samba: Configurazione soft Condivisione dir: Creazione utente: smbpasswd -a username www.riminilug.it info@riminilug.it
  • 17. Samba: Configurazione hard /etc/samba/smb.conf [shared] comment = Cartella condivisa # Commento sulla condivisione path = /cartella/da/condividere # Percorso della condivisione browseable = yes # Rende visibile la condivisione public = yes # Rende la cartella accessibile create mask = 0755 # Permessi dei file sudo service smbd restart http://wiki.ubuntu-it.org/Server/Samba www.riminilug.it info@riminilug.it
  • 18. CUPS ● Common UNIX Printing System ● Gestione della coda di stampa ● Installato default sudo apt-get install cups ● Configurazione Web http://localhost:631 ● Aggiungi stampanti e classi ● Aggiungi una stampante ● Locale (USB) ● Rete www.riminilug.it info@riminilug.it
  • 20. CUPS: ultime considerazioni ● E’ come SAMBA e andare in bicicletta Una volta imparato…. ● Abilitare l’accesso web da remoto /etc/cups/cupsd.conf Listen localhost:631 Listen 192.168.1.41:631 Nei <Location /> e <Location /Admin> aggiungere Allow 192.168.1.* ● www.riminilug.it info@riminilug.it
  • 21. VSFTP ● FTP (File Transfert Protocol) ● Ha la mia età (1971) ● E’ ancora il sistema più usato per trasferire file tra “mondi” diversi ● VSFTP (FTP Server) sudo apt-get install vsftpd Solito file /etc/vsftpd.conf ● Abilitare accesso anonymous ● Abilitare utenti locali www.riminilug.it info@riminilug.it
  • 24. Terminale Shell ● Accessori: Terminale ● Prompt dei comandi Linux www.riminilug.it info@riminilug.it
  • 26. Differenze con cmd.exe? ● I percorsi (PATH) ● Le barre (slash / e backslash ) ● Le lettere dei drive rispetto ai punti di mount ● Il nome del comando ma non la logica di funzionamento ● Redirezione <> ● Wild Card ?* (caratteri jolly) ● Pipeline | (condotto per passare i risultati a più comandi) www.riminilug.it info@riminilug.it
  • 27. Comandi Unix-Like essenziali (1) ● cp copia file ● cd cambia dir ● mkdir crea dir ● rm rimuove file/dir ● mv sposta/rinomina file/dir ● ls elenca file ● cat legge (concatena) file nello STD output ● find trova file www.riminilug.it info@riminilug.it
  • 28. Comandi Unix-Like essenziali (2) ● grep cerca stringa nei file ● more blocca lo scorrimento a videata ● wc conta parole e caratteri ● echo mostra una riga di testo ● chmod cambia attributi utente dei file ● chgrp cambia attributi gruppo dei file ● file indica la tipologia del file ● tar comprime/decomprime file www.riminilug.it info@riminilug.it
  • 29. Attenzione a certi comandi www.riminilug.it info@riminilug.it http://www.corriere.it/tecnologia/provati-per-voi/16_aprile_15/sbaglia-comando-cancella-azienda-storia-italiano-marco-marsala-dd252b48-02ea-11e6-a3a1- 5b22ca0a1360.shtml
  • 30. Ambiente Shell  Struttura file/directory Unix-Like  Variabili d’ambiente predefinite $PATH .. $HOME .. $LOGNAME .. $SHELL  Permessi (attributi) file/directory www.riminilug.it info@riminilug.it
  • 31. Linguaggi di Scripting ● BASH (Linux, OSX, ...) ● Python (Linux, OSX, Windows) ● Perl (Linux, OSX, Windows) ● Ruby (Linux, OSX, Windows) www.riminilug.it info@riminilug.it
  • 32. BASH su Windows 10 Inserita nell’aggiornamento estivo “Anniversary” www.riminilug.it info@riminilug.it https://channel9.msdn.com/Events/Build/2016/P488?ocid=player http://blog.dustinkirkland.com/2016/04/howto-ubuntu-on-windows.html
  • 33. Editor di Testo (Plain Text)  Default (Editor di Testo, GEdit)  Grafici da installare  Scite  Geany  Brackets  Terminal  nano  vi (VIM) www.riminilug.it info@riminilug.it
  • 34. BASH: le basi ● Estensione .sh (per classificarlo) ● File reso eseguibile chmod +x myscript.sh ● La prima riga per indicare l’interprete #!/bin/bash ● La sequenza dei comandi da eseguire ● Esecuzione dello script ./myscript.sh oppure inserirlo nel $PATH www.riminilug.it info@riminilug.it
  • 35. BASH: le variabili ● Il contenuto identifica il tipo nomevar=”Alessandro” nomevar=10 ● Viene identificata col simbolo $ ma non quando viene assegnata ● Non vanno inseriti spazi tra il nome della variabile e il suo valore (si usano le “ ” per le stringhe) ● Sono case sensitive (differenza tra maiuscolo e minuscolo) www.riminilug.it info@riminilug.it
  • 36. BASH: le strutture di controllo ● Condizioni (if) if [ condizione ] then comando else comando fi www.riminilug.it info@riminilug.it if [ $Conta == 10 ] then echo "Finito" else ((Conta=Conta+1)) fi
  • 37. BASH: gli operatori logici www.riminilug.it info@riminilug.it
  • 38. BASH: cicli (while) www.riminilug.it info@riminilug.it while [ True ] do if [ $Conta == 10 ] then echo "Finito" exit else ((Conta=Conta+1)) fi done
  • 39. BASH: cicli (for) www.riminilug.it info@riminilug.it for ((Conta=1;Conta<=10;Conta=Conta+1) do echo $Conta done for file in * do echo $file done
  • 40. BASH: interfaccia grafica? ● Zenity (GNOME) sudo apt-get install zenity ● Creazione di dialog box all’interno di script shell zenity --info --title "Info BOX" --text "Esempio di info dialognRiminiLUG" www.riminilug.it info@riminilug.it
  • 42. BASH: qualche esempio ● Backup $HOME ● Monitor di Rete ● Resize di immagini ● Player Mp3 www.riminilug.it info@riminilug.it
  • 43. Esempio: Backup #!/bin/bash MYHOME=$HOME MYDEST=/work/bak FILE_BAK=$MYDEST"/"$(date +%Y%m%d_%H%M%S)".tar.gz" if [ ! -e $MYDEST ] then mkdir $MYDEST fi > $FILE_BAK tar -zcvf $FILE_BAK $HOME/* www.riminilug.it info@riminilug.it
  • 44. Esempio: Monitor di rete IP_NET="192.168.1." MAX_HOST=254 FILE_OUT=$(date +%Y%m%d_%H%M%S)".log" > $FILE_OUT for (( ihost = 1;ihost <= $MAX_HOST; ihost++ )) do IP=$IP_NET$ihost ping -c 1 $IP > /dev/null if [ "$?" == 0 ] then echo "Trovato: " $IP echo $IP >> $FILE_OUT fi done www.riminilug.it info@riminilug.it
  • 45. Esempio: Resize immagini # # http://www.imagemagick.org # conta=0 for file in *.JPG do echo Converto $file convert "$file" -resize 50% mini_"$file" ((conta=conta+1)) echo $conta done echo totale file ridimensionati $conta www.riminilug.it info@riminilug.it
  • 46. Esempio: Player mp3 PLAYER=”/usr/bin/mpg321” DIR=$(zenity --file-selection --directory ) echo "Directory selezionata: $DIR" for file in $DIR/*.mp3 do if [ -e “$file” ] then echo “Playing: “ $(basename “$file”) $PLAYER "$file" fi done www.riminilug.it info@riminilug.it
  • 47. Manuali BASH ● http://wiki.ubuntu-it.org/Programmazione/LinguaggioBash ● http://www.aquilante.net/doc/bash_programming.pdf ● http://www.html.it/guide/shell-scripting-la-guida/ www.riminilug.it info@riminilug.it
  • 48. Caso reale, come esempio pratico www.riminilug.it info@riminilug.it
  • 49. Poche istruzioni per recuperare PDF  Dir cache di Firefox  Comandi Linux: find file grep find . -exec file {} ; | grep -i pdf  Risultato: ./ncniyv8v.default/cache2/entries/F8B40EB3B619E31C34FDEE1C0D19CFB9AD9779F7: PDF document, version 1.4 www.riminilug.it info@riminilug.it