RiminiLUG. Mini Corso su Linux p2: Networking & Terminal

download RiminiLUG. Mini Corso su Linux p2: Networking & Terminal

If you can't read please download the document

Transcript of RiminiLUG. Mini Corso su Linux p2: Networking & Terminal

www.riminilug.it

[email protected]

Mini Corso su LINUX

Marted, 19 aprile 2016

Networking & Terminal

Alessandro Carichini

[email protected]

Dove ci eravamo lasciati?

Installazione & Post Linux Mint 17.3 (rosa)

www.riminilug.it

[email protected]

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

[email protected]

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

[email protected]

Struttura di una LAN casalinga

www.riminilug.it

[email protected]

Network: strumenti x configurare

Preferenze: Connessioni di rete

Applet: System Tray

Terminal: Shell dei comandiifconfig / iwconfigFile di configurazione/etc/network/interfaces

www.riminilug.it

[email protected]

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

[email protected]

Network: Classe IP

Nazione.Citt.Strada.Nr_Civico

www.riminilug.it

[email protected]

Network: interfaces

Configurazione /etc/network/interfaces

www.riminilug.it

[email protected]

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

[email protected]

Network: strumenti x monitorare

Terminale: Shell dei comandi

Classico:ping

Avanzato:nmap [options]

Grafico: ZenMap

www.riminilug.it

[email protected]

ZenMap

apt-get install zenmap

www.riminilug.it

[email protected]

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

[email protected]

Cosa vedremo oggi?

File ServerSamba (SMB)

Print ServerCUPS

FTP ServerVSFTP

www.riminilug.it

[email protected]

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

[email protected]

Samba: Configurazione soft

Condivisione dir:

Creazione utente:smbpasswd -a username

www.riminilug.it

[email protected]

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

[email protected]

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

[email protected]

CUPS: aggiungi stampante

www.riminilug.it

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

Tutto chiaro?

www.riminilug.it

[email protected]

Terminale Shell

Accessori: TerminalePrompt dei comandi Linux

www.riminilug.it

[email protected]

Differenze con cmd.exe?

www.riminilug.it

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

Attenzione a certi comandi

www.riminilug.it

[email protected]

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

[email protected]

Linguaggi di Scripting

BASH (Linux, OSX, ...)

Python (Linux, OSX, Windows)

Perl (Linux, OSX, Windows)

Ruby (Linux, OSX, Windows)

www.riminilug.it

[email protected]

BASH su Windows 10

Inserita nellaggiornamento estivo Anniversary

www.riminilug.it

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

BASH: le strutture di controllo

Condizioni (if)

if [ condizione ]then comandoelsecomandofi

www.riminilug.it

[email protected]

if [ $Conta == 10 ]then echo "Finito"else((Conta=Conta+1))fi

BASH: gli operatori logici

www.riminilug.it

[email protected]

BASH: cicli (while)

www.riminilug.it

[email protected]

while [ True ]doif [ $Conta == 10 ]then echo "Finito"exitelse((Conta=Conta+1))fidone

BASH: cicli (for)

www.riminilug.it

[email protected]

for ((Conta=1;Conta $FILE_BAK

tar -zcvf $FILE_BAK $HOME/*

www.riminilug.it

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

Caso reale, come esempio pratico

www.riminilug.it

[email protected]

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

[email protected]

www.riminilug.it

[email protected]