1.1 [fdisk] Partizionare HD.
Per partizionare un disco:
sudo fdisk /dev/[ nome dispositivo] es: sudo fdisk /dev/sda
[m] per vedere la lista delle opzioni;
[o] per creare nuova partizione;
[t] per scegliere il tipo di filesystems es [c] FAT32 LBA;
[w] per salvare ed uscire;
Cosi’ si crea la partizione sul disco ES: sda1
1.2 [mkfs] Formattare HD.
Per formattare l’HD appena partizionato:
sudo mkfs -t [tipo filesystem] /dev/[nome dispositivo] es: sudo mkfs -t vfat /dev/sda1
1.3 [mount] Montare un disco o una partizione.
Per poter vedere il contenuto di un disco o di una partizione il comando da utilizzare è:
mount. Se si digita al prompt il comando mount viene mostrata la lista di tutti i dispositivi montati inquel momento
Se il disco/partizione è inserita all’interno dell’fstab (file dove vengono configurate le informazioni sui vari file system, da montare al boot o no, preimpostati sul sistema) non avremo bisogno di specificare il percorso dove montare la partizione altrimenti dovremo obbligatoriamente specificare anche la directory dove la partizione deve essere montata.
Esempio:
Montare la partizione hda5.
Se contenuto nell’fstab sudo mount /dev/hda5
Non contenuto nell’fstab sudo mount /dev/hd5 /mnt/hda5
Prima di montare la partizione hda5 va verificato che all’interno della directory mnt esista la directory hd5 se così non fosse va creata.
1.4 [mkdir] Creare una direcory.
Per creare una directory
Se si è all’interno della directory dove si vuole crearne un’altra:
mkdir [nome directory] es: sudo mkdir hda5
oppure bisogna specificarne il percorso:
[sudo] mkdir /mnt[/nome directory] es: sudo mkdir /mnt/hda5
1.5 [rmdir] Cancellare una directory.
Per cancellare una directory:
Se la directory è vuota:
rmdir [nome directory] es: sudo rmdir hda5
Se la directory non è vuota e si vuole cancellare tutti i file contenuti senza dare conferma:
[sudo] rm -R -v [nome directory] es: sudo rm -R -v hda5
1.6 [rm] Cancellare un singolo file.
Per cancellare un singolo file:
sudo rm [nome file] es: sudo rm prova.txt
Premere s per dare conferma.
1.7 [umount] Smontare una directory o una partizione.
Per smontare una directory il comando è umount
sudo umount [nome partizione] es. sudo umount /mnt/hda5
Così viene smontata la partizione hda5
2. [ssh] Creare una connessione ssh.
ssh [-l login_name] [hostname | user@hostname] [command]
ssh [-afgknqstvxACNPTX1246] [-c cipher_spec] [-e escape_char] [-i identity_file] [-l login_name] [-m mac_spec] [-o option] [-p port] [-L port:host:hostport] [-R port:host:hostport] [hostname | user@hostname] [command]
-l Specifica il nome dell’utente con cui aprire la connessione sull’host remoto.
user@hostname Come sopra
-f Manda in background ssh prima di lanciare il comando
-i [identity_file] Specifica il file contenente la chiave privata (rsa e dsa)
-v Abilita il verbose mode.
-x Disabilita x11 forwarding
-X Abilita x11forwarding
-C Richiede la compressione dati
-1 Forza l’uso del protocollo 1
-2 Forza l’uso del protocollo 2
ssh [nome utente]@[ip] es. ssh elpaso@192.168.10.97
oppure
ssh [ip] -l [nome utente] es. ssh 192.168.10.97 -l elpso
3. [smb] Condividere risorse di rete.
Voglio farti entrare?? Devo abilitare il samba server.
2 pc:
Windows [A] Utente Guest abilitato
Linux [B]
[A] accede a [B]
Verificare di avere installato il samba server
Preparare la condivisione nel file smb.conf
Quindi:
sudo vi /etc/samba/smb.conf (al posto di "vi" potete anche usare i più semplici nano o pico)
Inserire in fondo al file la sezione per condividere la directory:
[pippo] NOME CONDIVISIONE
comment = Samba server’s directory scambio COMMENTO CONDIVISIONE
writable = yes SCRIVIBILE?
locking = no
path = /mnt/pluto PUNTO DI MONTAGGIO
public = yes
Caricare demone di samba:
/etc/init.d/samba start
stringa di comando:
sudo smbmount [//nome pc /nome condivisione] [/directory dove montare la condivisione] -o username=[nome utente],password=[password] se vuota password=’’
oppure
smbmount [//indirizzo IP pc /nome condivisione] [/directory dove montare la condivisione] -o username=[nome utente],password=[password] se vuota password=’’
Es.
sudo smbmount //paperino /pippo /home/elpaso/prova -o username=alex,password=pappa
[B] accede a [A]
Non bisogna caricare alcun demone sotto windows:
stringa di comando
sudo smbmount [//nome pc/directory pc condivisa] [/directory dove montare la condivisione] -o username=[nome utente],password=[password] se vuota password=’’
sudo smbmount [//indirizzo IP pc/directory pc condivisa] [/directory dove montare la condivisione] -o username=[nome utente],password=[password] se vuota password=’’
4.[vi] Editor di testo.
a Aggiunge testo dopo il cursore;
A Aggiunge testo alla fine della riga;
I Aggiunge testo all’inizio della riga;
o Aggiunge una riga prima del cursore;
O Aggiunge una riga dopo il cursore;
ESC Esce dalla modalita’ di inserimento;
BACKSPACE Si sposta indietro di un carattere.
cw Cancella la parola sotto il cursore ed entra in modalita’ inserimento.
dw Cancella una parola sotto il cursore.
cc Cancella l’intera riga sotto il cursore ed entra in modalita’ inserimento.
dd o :d Cancella la riga corrente (sotto il cursore).
:dn Cancella n righe, a partire da quella corrente.
n cc Cancella n righe e si mette in modalita’ inserimento.
zz Esce da VI scrivendo solo se sono state apportate modifiche al file
:x Come zz
:wq Salva ed esce
:w Salva
:w file Salva una copia nel file file
:q Esce
:q! Forza l’uscita anche se non sono state salvate le modifiche fatte (che vengono perse)
5. [cat] Comandi per utilizzare cat.
È il comando Unix piu’ comune per visualizzare un file ASCII senza interruzioni o particolari filtri.
cat [opzioni] [file]
-v (–show-nonprinting) Visualizza caratteri di controlli e non stampabili (ad eccezione dei LINEFEED e TAB).
-T (–show-tabs) Visualizza i caratteri TAB come ^I
-E (–show-ends) Visualizza $ alla fine di ogni riga (dove c’e’ un LINEFEED)
-A (–show-all) Corrisponde a -vET
-n (–number) Numera tutte le righe in output, iniziando da 1.
Esempi
cat -A file.dos
Visualizza il contenuto di file.dos evidenziando la presenza di eventuali caratteri non stampabili (se il file e’ stato copiato o salvato da Windows avra’ dei caratteri di fine riga, non necessari su Linux/Unix che possono creare problemi. Per rimuoverli usare il comando dos2unix)
6. [fstab] Configurare /etc/fstab.
Il suo formato prevede per ogni riga le seguenti informazioni:
1- Dispositivo da montare (es: /dev/hda1 o anche host:dir)
2- Mount point sul file system principale
3- File System Type da utilizzare (es: ext2, ext3, iso9660, nfs…)
4- Opzioni specifiche per il mount
5- Indica se il file system deve essere backuppato con il comando dump. Uno 0 indica NO.
6- Indica de deve essere fatto un file system check al boot. Uno 0 indica NESSUN CHECK.
Qui viene analizzato un tipico /etc/fstab su Linux.
/dev/hda2 / ext2 defaults 1 1
/dev/hda1 /boot ext2 defaults 1 2
/dev/hdc1 /home ext2 defaults 1 2
/dev/fd0 /mnt/floppy auto noauto,owner 0 0
/dev/hda7 /usr ext2 defaults 1 2
/dev/hdc2 /var ext2 defaults 1 2
none /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
/dev/hda3 swap swap defaults 0 0
Per montare una partizione di scambio come utente avendo i permessi per scrivere cancellare modificare i file:
/dev/hda6 /mnt/scambio vfat defaults,auto,uid=1000,gid=1000 0 0
Per modificare questo file: sudo vi /etc/fstab se non si conosce l’utilizzo di vi clicca qui (altrimenti usate pico o nano)
In questo esempio la root ( / ) e’ montata sulla seconda partizione dell’hard disk IDE primary master (/dev/hda2) e al suo interno monta altre directory che sono fisicamente presneti in altre partizioni di hda o in un secondo hard disk, il secondary master (/dev/hdc).
In questo caso tutti i file system su tutte le partizioni sono ext2, ma ogni partizione potrebbe avere un proprio file system.
Notare inoltre la partizione di swap in /dev/hda3, il /proc file system virtuale (che non ha mount point) e il device pts, che e’ un’interfaccia virtuale per i pseudo terminali (pts).
Considerare l’entry per il floppy, identificato da /dev/fd0 e montato in /mnt/floppy. Tra le opzioni di mount c’e’ specificato un noauto che indica di non motnare automaticamente il floppy all’avvio. I due zero a fine riga, inoltre, segnalano al sistema di non controllarlo al boot e di non usarlo per backup con il comando dump.
7. [chmod] Cambiare i permessi ai file.
Solo il proprietario del file, o l’utente root, puo’ modificarne gli attributi. E’ un comando comune in tutti gli Unix.
chmod [opzioni] modo file
-c (–changes) Visualizza informazioni sui file che vengono modificati
-R (–recursive) Applica le modifiche alla directory indicata e a tutte le sue sottodirectory
–reference=file_origine Applica al file specificato nella riga di comando gli stessi permessi che ha file_origine
-f (–silent) Non stampa messaggi di errore sui file che non possono essere modificati
Esistono due diversi modi per definire i permessi su un file:
7.1 Symbolic mode
I permessi vengono definiti nella forma: chi-opcode-permesso.
CHI puo’ essere:
u USER – Utente proprietario del file
g GROUP – Gruppo proprietario del file
o OTHER – Altri utenti
a ALL – Tutti gli utenti del sistema (default)
OPCODE puo’ essere:
+ Aggiunge un permesso
- Rimuove un permesso
= Assegna un permesso (e rimuove tutti quelli non specificati)
PERMESSO puo’ essere:
r READ – Lettura sul file
w WRITE – Scrittura sul file
x EXECUTE – Esecuzione del file (o apertura della directory)
s SET USER ID – Il file (comando) viene eseguito con i permessi dell’owner sul file system, anche quando viene eseguito da altri utenti. Questo attributo e’ a volte necessario in alcuni comandi lanciati da utenti normali che hanno accesso sul sistema con i permessi di root (es: traceroute).
t STICKY BIT – Normalmente un utente puo’ cancellare tutti i file contenuti in una directory su cui ha permesso di scrittua, anche se non ha permessi di scrittura sul file stesso. Con lo Sticky bit impostato, cio’ non e’ possibile: l’utente puo’ cancellare il relativo file solo se ha permessi di scrittura sul file stesso
u Lascia i permessi correnti dell’utente owner
g Lascia i permessi correnti del gruppo owner
o Lascia i permessi correnti per gli altri utenti
Esempi:
Aggiungo all’utente proprietario del file permesso di lettura:
chmod u+r [nome file]
Aggiungo al gruppo permessi di lettura e scrittura:
chmod g+rw [nome file]
Tolgo al gruppo permessi di lettura e scrittura:
chmod g-rw [nome file]
Tolgo ad altri permessi di lettura e scrittura:
chmod o-rw [nome file]
7.2 Octal mode
È un metodo alternativo che permette di definire i permessi con un numero ottale composta da tre cifre:
la prima indica i permessi per l’utente owner, la seconda per il gruppo, la terza per gli altri.
I permessi vengono calcolati sommando i seguenti valori ottali:
4 Lettura
2 Scrittura
1 Esecuzione.
In questo modo il permesso di lettura+scrittura+esecuzione si indica con il numero 7 (4+2+1), il permesso di lettura, esecuzione con 5 (4+1) e cosi’ via.
E’ inoltre possibile indicare una quarta cifra (da far precedere alle 3 usuali) per permettere l’assegnamento dei seguenti permessi spciali:
4 Imposta lo UserId per l’esecuzione
2 Imposta il GroupID
1 Imposta lo sticky bit.
Esempi
Per impostare i permessi totali all’owner, e solo in lettura a tutti gli altri si hanno le seguenti possibilita’:
chmod 744 /home/file
chmod u=rwx,go=r /home/file
Per impostare permessi di sola lettura per l’owner e il group e nessun permesso per gli altri:
chmod 440 /home/file
chmod ug=r,o-rwx /home/file
Per impostare totali permessi per tutti gli utenti su un file:
chmod 777 /home/file
chmod ugo=rwx /home/file
Per impostare lo sticky bit su un file e permessi totali solo per l’owner e di sola lettura per il group:
chmod 1740 /home/file
chmod u=srwx,g=r,o-rwx
8. [chown] Cambiare proprietario dei file.
Modifica il proprietario di uno piu’ file. Puo’ essere fatto solo da root o dal proprietario corrente del file. È un comando comune in tutti gli Unix.
chown [opzioni] nuovo_proprietario file
chown [opzioni] nuovo_proprietario:nuovo_gruppo file
-c (–changes) Visualizza informazioni sui file che vengono modificati
-R (–recursive) Applica le modifiche alla directory indicata e a tutte le sue sottodirectory
–reference=file_origine Applica al file specificato nella riga di comando lo stesso proprietario che ha file_origine
-f (–silent) Non stampa messaggi di errore sui file che non possono essere modificati
-v (–verbose) Visualizza dettagliate informazioni su ogni file che chown tenta di modificare.
Esempi
sudo chown elpaso /var/tmp/alien Imposta elpaso come propietario del file /var/tmp/alien
sudo chown elpaso:elpaso /home/file Imposta owner elpaso e group owner elpaso al file /home/file
9. [grep] Ricercare determinate parole.
Il comando grep permette di ricercare una determinata parola o REGEXP pattern all’interno di un file e stampa a video tutte le righe in cui viene trovato. È comune in tutti i sistemi Unix.
grep [opzioni] pattern [file]
Il file su cui operare puo’ essere passato direttamente allo standard input di grep. Per esempio cat /var/log/maillog | grep pippo@pippo.it visualizza tutte le righe che contengono pippo@pippo.it all’interno del file maillog.
-i Ignora la distinzione tra minuscolo e maiuscolo
-l Stampa solamente i nomi dei file (una sola volta per file) che contengono righe soddisfatte dall’espressione
-n Precede ogni riga soddisfatta dall’espressione con il suo numero di riga relativo all’interno del file
-v Non vengono mostrate le righe che contengono le stringhe soddisfatte, ma le rimanenti.
-c Stampa il numero di righe per le quali è stata rintracciata una corrispondenza.
-r Legge ricorsivamente tutti i file sotto la directory indicata.
-A# Stampa # righe di testo precedenti a quella per la quale è stata trovata la corrispondenza
-B# Stampa # righe di testo successive a quella per la quale è stata trovata la corrispondenza
-C# Stampa # righe di testo precedenti e successive a quella per la quale è stata trovata la corrispondenza
10. Configurare una rete / navigare in internet.
10.1 [ifconfig] Modificare Impostazioni di rete
ifconfig viene usato per la gestione delle schede di rete.
digitando ifconfig dal prompt dei comandi mostra la lista delle periferiche di rete abilitate con relative impostazioni.
Per configurare una rete il comando:
ifconfig [nome periferica_di_rete] [ip] [netmask maschera_rete] up
es:
sudo ifconfig eth0 192.168.10.27 netmask 255.255.255.0 up
10.2 [iwlist] Lista delle reti wireless disponibili.
iwlist viene usato per vedere la lista delle reti wireless disponibili
iwlist [periferica di rete] [opzione]
es:
iwlist wlan0 scanning
Dalla lista si possono vedere tutte le impostazioni da settare con il comando iwconfig.
10.3 [iwconfig] Modificare impostazioni di rete wireless.
iwconfig viene usato per la gestione delle reti wireless digitando iwconfig dal prompt dei comandi mostra la lista delle periferiche di rete wireless abilitate con relative impostazioni.
Per configurare una rete il comando:
iwconfig [nome periferica di rete] [opzioni]
es:
sudo ifconfig wlan0 essid any mode managed
Nel caso in cui la scheda di rete wireless non viene riconosciuta con il comando iwconfig, dovrete installare i moduli dei drivers appositi.
10.4 [/etc/network/interfaces] Mettere i settaggi in modo definitivo alle periferiche di rete.
Per mettere in modo definitivo le impostazioni di rete, quindi in fase di avvio il nostro pc verrà caricato con le corrette impostazioni di rete, il file da modificare (per distro debian e native debian) /etc/network/interfaces, all’interno di questo file di configurazione si posso settare quale rete caricare all’avvio eth0, eth1, wlan0… ed i vari parametri da impostare a ognuna di queste periferiche di rete.
es: sudo vi /etc/network/interfaces
# wlan0
iface wlan0 inet static
address 192.168.10.28
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
gateway 192.168.10.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 212.245.255.2
# eth0
iface eth0 inet dhcp
Una volta definito questo file è inoltre possibile attivare e disattivare le schede (indicate nel file sopra) tramite i seguenti comandi:
ifup [interfaccia]
ifdown [interfaccia]
es:
ifup eth0
ifdown wlan1
10.5 [route] Impostare ip del gateway per navigare in internet.
Settare il gateway predefenito per poter navigare in internet.
route -n si verifica quale ip si è assegnato al gateway
Per impostare il gateway:
route add default gw [ip]
es:
sudo route add default gw 192.168.10.1
per cancellare ip del gateway
route del default gw [ip]
es:
sudo route del default gw 192.168.10.1
10.6 [/etc/resolv.conf] Impostare un server dns.
Per settare un server dns (importante altrimenti non si riesce a navigare)
/etc/resolv.conf
sudo vi /etc/resolv.conf
Se il file è vuoto va aggiunto un server dns con la seguente stringa:
nameserver [ip]
es:
nameserver 212.245.255.2
Chiudere e salvare il file appena modificato con i comandi di vi