RiminiLUG. Mini Corso su Linux p2: Networking & Terminal
-
Upload
alessandro-carichini -
Category
Software
-
view
164 -
download
4
Transcript of RiminiLUG. Mini Corso su Linux p2: Networking & Terminal
www.riminilug.it
Mini Corso su LINUX
Marted, 19 aprile 2016
Networking & Terminal
Alessandro Carichini
Dove ci eravamo lasciati?
Installazione & Post Linux Mint 17.3 (rosa)
www.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
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
Struttura di una LAN casalinga
www.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
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
Network: Classe IP
Nazione.Citt.Strada.Nr_Civico
www.riminilug.it
Network: interfaces
Configurazione /etc/network/interfaces
www.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
Network: strumenti x monitorare
Terminale: Shell dei comandi
Classico:ping
Avanzato:nmap [options]
Grafico: ZenMap
www.riminilug.it
ZenMap
apt-get install zenmap
www.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
Cosa vedremo oggi?
File ServerSamba (SMB)
Print ServerCUPS
FTP ServerVSFTP
www.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
Samba: Configurazione soft
Condivisione dir:
Creazione utente:smbpasswd -a username
www.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
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
CUPS: aggiungi stampante
www.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
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
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
Tutto chiaro?
www.riminilug.it
Terminale Shell
Accessori: TerminalePrompt dei comandi Linux
www.riminilug.it
Differenze con cmd.exe?
www.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
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
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
Attenzione a certi comandi
www.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
Linguaggi di Scripting
BASH (Linux, OSX, ...)
Python (Linux, OSX, Windows)
Perl (Linux, OSX, Windows)
Ruby (Linux, OSX, Windows)
www.riminilug.it
BASH su Windows 10
Inserita nellaggiornamento estivo Anniversary
www.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
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
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
BASH: le strutture di controllo
Condizioni (if)
if [ condizione ]then comandoelsecomandofi
www.riminilug.it
if [ $Conta == 10 ]then echo "Finito"else((Conta=Conta+1))fi
BASH: gli operatori logici
www.riminilug.it
BASH: cicli (while)
www.riminilug.it
while [ True ]doif [ $Conta == 10 ]then echo "Finito"exitelse((Conta=Conta+1))fidone
BASH: cicli (for)
www.riminilug.it
for ((Conta=1;Conta $FILE_BAK
tar -zcvf $FILE_BAK $HOME/*
www.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
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
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
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
Caso reale, come esempio pratico
www.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
www.riminilug.it