Post on 12-Jan-2017
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
SwitchConnettere pi dispositivi al router
Wi-Fi Connettere pi dispositivi senza fili al router
Repeater Wi-FiPer 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 comandiifconfig / iwconfigFile 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.1nameserver 8.8.8.8nameserver 8.8.4.4
/etc/hosts
127.0.0.1 localhost192.168.1.1 myrouter192.168.1.10alexhome192.168.1.20raspberry
www.riminilug.it
info@riminilug.it
Network: strumenti x monitorare
Terminale: Shell dei comandi
Classico:ping
Avanzato:nmap [options]
Grafico: ZenMap
www.riminilug.it
info@riminilug.it
ZenMap
apt-get install zenmap
www.riminilug.it
info@riminilug.it
Network Services
File ServerDocumenti, immagini, video, musica
Print ServerUna stampante e pi pc collegati
Web ServerGestione mini sito
FTP ServerPer la gestione di qualche webcam
Mail ServerGestione della posta elettronica
www.riminilug.it
info@riminilug.it
Cosa vedremo oggi?
File ServerSamba (SMB)
Print ServerCUPS
FTP ServerVSFTP
www.riminilug.it
info@riminilug.it
Samba (SMB)
Samba?Protocollo SMB (Server Message Block) di Microsoft
Egi 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 SystemGestione della coda di stampa
Installato defaultsudo apt-get install cups
Configurazione Webhttp://localhost:631Aggiungi stampanti e classiAggiungi una stampanteLocale (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 biciclettaUna volta imparato.
Abilitare laccesso web da remoto/etc/cups/cupsd.conf
Listen localhost:631Listen 192.168.1.41:631
Nei e aggiungereAllow 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 vsftpdSolito file /etc/vsftpd.confAbilitare accesso anonymous
Abilitare utenti locali
www.riminilug.it
info@riminilug.it
VSFTP: configurazione
/etc/vsftpd.conf
anonymous_enabled=NOanon_upload_enable=NOanon_mkdir_write_enable=NO
local_enables=YESwrite_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: TerminalePrompt 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 funzionamentoRedirezione
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 dambiente 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 nellaggiornamento 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 installareScite
Geany
Brackets
Terminalnano
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 linterprete #!/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 tiponomevar=Alessandronomevar=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 comandoelsecomandofi
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 ]doif [ $Conta == 10 ]then echo "Finito"exitelse((Conta=Conta+1))fidone
BASH: cicli (for)
www.riminilug.it
info@riminilug.it
for ((Conta=1;Conta $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 /dev/null
if [ "$?" == 0 ] then echo "Trovato: " $IP echo $IP >> $FILE_OUT fidone
www.riminilug.it
info@riminilug.it
Esempio: Resize immagini
## http://www.imagemagick.org #
conta=0
for file in *.JPGdoecho Converto $file
convert "$file" -resize 50% mini_"$file"
((conta=conta+1))echo $contadone
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/*.mp3doif [ -e $file ] then echo Playing: $(basename $file)$PLAYER "$file"fidone
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:findfile
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