Loading...

Comandi Linux più Utilizzati

In questa guida puoi trovare i comandi maggiormente utilizzati.

clear Pulisce la finestra del terminale

[root@test~]$ clear
ls Mostra il contenuto di una directory

[root@test~]$ ls
[root@test~]$ ls -l
cat Mostra il contenuto di un file nel terminale

[root@test~]$ cat filename.extension
rm Rimuovere un file

[root@test~]$ rm filename.extension
[root@test~]$ rm -i filename.extension
[richiesta di conferma prima di rimuovere il file]
[root@test~]$ rm -f filename.extension
[forza la rimozione del file indipendentemente se è preotetto da scrittura o aperto]
[root@test~]$ rm -r directory
[rimuove i file della directory]
cp Copiare un file

[root@test~]$ cp file1.ext file2.ext
[root@test~]$ cp file1.ext /some/other/location/file2.ext
[root@test~]$ cp file1.ext user@some.other.server:~/some/other/location/file2.ext
passwd Cambiare la password

[root@test~]$ passwd
[root@test~]$ passwd SomeNewUser
[root access only]
motd Messaggio del giorno

[root@test~]$ motd
finger Programma che fornisce informazioni sugli utenti.

[root@test~]$ finger -p
Login Name Tty Idle Login Time Office Office Phone
xuser pts/0 Oct 22 22:04 (ool-4578671d.dyn.optonline.net)
startx Avvia il sistema a finestre.

[root@test~]$ startx -dpi 300 -depth 32
less Mostra i contenuti di un file nel terminale una pagina alla volta

[root@test~]$ less filename.ext
[root@test~]$ less +G filename.ext
[start from end]
info Mostra la documentazione e i dettagli delle shells, utilities e programmi.

[root@test~]$ info
[root@test~]$ info less
lpr Inviare un file alla stampante

[root@test~]$ lpr filename.ext
[root@test~]$ lpr -# 3 filename.ext
[3 copies]
grep cercare i file per stringa

[root@test~]$ grep “needle” haystack.ext
[root@test~]$ grep -i “neEdlE” haystack.ext
[root@test~]$ grep -i -r “neEdlE” directory/
head Visualizza le prime 10 linee di un file

[root@test~]$ head filename.ext
tail Visualizzare le ultime 10 linee di un file

[root@test~]$ tail filename.log
[root@test~]$ tail -f filename.log
[don’t exit // realtime]
mv Muovere o rinominare un file

[root@test~]$ mv filename.ext /some/other/directory/
[root@test~]$ mv filename.ext newname.ext
[rename]
file Visualizzare le informazioni sul contenuto di un file

[root@test~]$ file program.php
program.php: PHP script text
[root@test~]$ file archive.tar.gz
archive.tar.gz: gzip compressed data, from Unix
echo Copiare le stringhe sul terminale

[root@test~]$ echo Hello Think-Lamp
[root@test~]$ echo * | wc
date Visualizzare data e ora

[root@test~]$ date
[root@test~]$ date -R
cal Visualizzare il calendario

[root@test~]$ cal
[root@test~]$ cal -y 2009
gzip Comprimere un file

[root@test~]$ gzip filename.etx > archive.gz
[root@test~]$ gzip -f -q filename.etx > archive.gz
[force and supress errors]
[root@test~]$ gzip -f -q -r directory/ > archive.gz
gunzip Decomprimere e comprimere un file

[root@test~]$ gunzip archive.gz
which Mostra il percorso per un comando

[root@test~]$ which echo
[root@test~]$ which less
whereis Consente di visualizzare i percorsi per le posizioni dei comandi

[root@test~]$ whereis echo
[root@test~]$ whereis less
who LIsta deegli utenti attualmente connessi

[root@test~]$ who
[root@test~]$ who -b
w Mostra l’elenco degli utenti collegati con il dettaglio delle risorse che utilizzano

[root@test~]$ w
mesg Configura le opzioni necessarie per permettere ad altri utenti di scrivervi dei messaggi.

[root@test~]$ mesg
write Inviare un messaggio ad un altro utente

[root@test~]$ write xuser
hello! This is test message

[xuser@test~]$
Message from [root@test~]$ on pts/1 at 13:25 …
hello! This is test message
talk Permette di effettuare conversazioni in tempo reale con altri utenti

[root@test~]$ talk xuser@test

[xuser@test~]$
Message from root@test
talk: connection requested by root@test.
talk: respond with: talk xuser@test
chmod Cambiare i permessi per l’accesso ai file

[root@test~]$ chmod 775 file.ext
[root@test~]$ chmod -r 777 directory/
CHMOD can also to attributed by using Numeric Permissions:

400 read by owner
040 read by group
004 read by anybody (other)
200 write by owner
020 write by group
002 write by anybody
100 execute by owner
010 execute by group
001 execute by anybody
____
777 read/write/execute by everybody
mkdir Creare un directory

[root@test~]$ mkdir newdirectory
rmdir Rimuovere un directory vuota

[root@test~]$ rmdir newdirectory
ln creare un link ad un file esistente

(hard link) [root@test~]$ ln targetfile.ext linkname.ext
(soft link) [root@test~]$ ln -s targetfile.ext linkname.ext
df Mostra tutti i filesystems montati

[root@test~]$ df
[root@test~]$ df -h
top Mosra la lista aggiornata dei processi attivi

[root@test~] top
# Once in TOP screen, use shift+F to select ‘sort by’ field.
# Once in Top screen, use Shift+R to ‘sort’ ascending OR descending
tty Visualizza il nome del terminale in cui è stato emesso il comando

[root@test~] tty
kill Blocca un processo tramite il PID (Process Identification Number) o job number

[root@test~] kill -p 2345
jobs Mostra i processi fatti partire dalla shell corrente

[root@test~] jobs
[root@test~] jobs -l
netstat Mostra le connessioni di rete

[root@test~] netstat -a -e

Diagnosticare Problemi di Memoria su Server Linux

Nel caso in cui riscontriate dei problemi con il vostro server virtuale che non riuscite ad identificare/replicare è consigliabile controllare che non siano presenti problemi a livello hardware o di sistema operativo. Per identificare la causa esatta dei vostri problemi potete utilizzare i tools indicati in questa guida.

Controllare l’utilizzo della memoria

Se necessiti di vedere quanta memoria sta usando il tuo sistema quando si presenta un problema, usa il seguente comando:

free -m
Per esempio:

total used free shared buffers cached
Mem: 2006 1926 79 0 41 938
-/+ buffers/cache: 946 1059
Swap: 5875 250 5624
Questo report richiede un minimo di attenzione per essere correttamente interpretato. Su di un totale di 2 gigabytes di memoria RAM, il sistema sta utilizzando 1926 megabytes e ne ha 79 megabytes liberi. SI noti che il sitema ha anche 945 megabyte di dati immagazzinati nella cache che verranno liberati solo nel caso servissero. Per un sistema Linux è normale lasciare i vecchi dati nella RAM fno a quando non c’è ne è di bisogno, questo non deve allarmarti se vedi solo una piccola quantità di memoria libera.

Lo strumento vmstat fornisce informazioni sulla memmoria, utilizzo dello swap, IO wait, e l’attività di sistema. Questo trumento è particolamente utile per la diagnosi dei porblemi legati all’I/O.

Se credi di avere problemi I/O utilizza i seguenti comandi:

vmstat 1 20

Questo fa si che venga lanciato il comando vmstat ogni secondo per venti volte. Questo offre un buon esempio dello stato del sistema. L’output generato sarà simile a questo:

procs ———–memory———- —swap– —–io—- -system– —-cpu—-
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 256620 108400 43088 960964 0 0 2 48 0 5 4 1 95 0
0 0 256620 108436 43112 960988 0 0 0 336 25 747 1 0 98 1
0 0 256620 108436 43112 960988 0 0 0 0 9 681 0 1 99 0
1 0 256620 108412 43112 960988 0 0 0 0 6 1134 50 3 47 0
2 0 256620 108420 43112 960988 0 0 0 16 8 606 100 0 0 0
Le colonne “memory” e “swap” forniscono lo stesso tipo di informazioni dal comando free-m anche se il risultato finale è di più difficile comprensione. L’informazione piu’ importante resitutita da questo comando e’ indicata nella colonna “wa” che generalmente e’ l’ultima colonna visualizzata. Questa colonna mostra il tempo che la CPU impiega in attesa di terminare le operazioni di IO.

Se questo numero fosse molto piu’ alto di 0, dovreste considerare la possibilita’ di prendere delle contromisure per limitare l’utilizzo delle risorse IO. In ogni caso se il risultato del comando vmstat e’ simile a quello sopra indicato potete essere tranquilli che non c’e’ nessun problema legato all’IO

Sicurezza Linux – Consigli Utili

Utilizzare sempre un gestore di pacchetti (come apt-get su Debian), per scaricare ed installare i pacchetti di aggiornamento sul sistema. Prestare molta attenzione durante l’aggiornamento automatico sui server di produzione.

Installare nmap per determinare i canali di comunicazione possibili. Inizia con qualcosa di semplice come:

# nmap 192.168.1.1

L’utilizzo di una password adeguata e’ il primo passo per garantire la protezione dei vostri server. Scegliere accuratamente una password per tutti gli utenti registrati sul vostro server e’ necessario al fine di evitare accessi non autorizzati. Se un utente malintenzionato dovesse impossessarsi della vostra password potrebbe facilmente accedere al vostro server. Per migliorare il livello di sicurezza dei vostri server vi consigliamo di disabilitare eventuali account non utilizzati utilizzando il comando : /usr/bin/passwd -l.

Vi consigliamo inoltre di disabilitare programmi e servizi non utilizzati che potrebbero rappresentare una possibile porta d’accesso al vostro server.

La sicurezza del Kernel

Esistono diverse possibilita’ di configurazione del Kernel che permettono di aumentare la sicurezza grazie all’utilizzo del psudo-filsystem /proc. Alcuni files contenuti nella directory /proc/sys sono direttamente legati alla sicurezza. Queste sono alcune delle opzioni disponibili in /proc/sys/net/ipv4:

icmp_echo_ignore_all: Disabilita tutte le richieste ICMP ECHO. Questo farà in modo che il kernel ignori semplicemente tutti i messaggi di ping (conosciuti anche come messaggi ICMP di tipo 0).
icmp_echo_ignore_broadcasts: Questo disattiva la risposta ai broadcast ICMP, prevenendo gli attacchi Smurf. L’attacco Smurf consiste nell’invio di un messaggio ICMP di tipo 0 (ping) all’indirizzo broadcast di una rete. Di solito l’aggressore utilizza un indirizzo sorgente contraffatto
ip_forward: Assicurarsi che l’IP forwarding sia disattivato. Questa funzione serve solo per un nodo avente più connessioni di rete. Si raccomanda di attivare o disattivare questa flag prima di tutte le altre, in quanto essa attiva/disattiva altre flag.
ip_masq_debug: Enable or disable debugging of IP masquerading.
tcp_syncookies:Protegge da attacchi di tipo SYN.
rp_filter: Attivare il reverse filtering del percorso. Questo aiuta ad essere sicuri che i pacchetti utilizzino indirizzi sorgente regolari, rifiutando automaticamente i pacchetti in arrivo se la voce nella tabella di instradamento che indica il loro indirizzo sorgente non corrisponde all’interfaccia di rete su cui stanno essi arrivando.
secure_redirects: Non accettare pacchetti ICMP rediretti. Le redirezioni ICMP possono essere usate per alterare le tabelle di instradamento, con conseguenze potenzialmente negative.
log_martians: Registra i pacchetti con un indirizzo non valido nel log del kernel.
accept_source_route: Non accettare pacchetti da fonte instradata. Gli aggressori possono usare l’instradamento delle fonti per generare traffico che sembra avere origine all’interno della rete, ma che in realtà viene instradato all’indietro lungo il percorso da cui è venuto, cosicché gli aggressori possono compromettere la rete

Per garantire la sicurezza dei pacchetti di aggiornamenti distribuiti viene utilizzato il comando md5sum. Il comando md5sum permette di calcolare una chiave a 128-bit che dipende direttamente dal contenuto del file a cui e’ applicata e viene utilizzato per confrontare che il valore indicato sia realmente valido o stabilire se il contenuto del file originale e’ stato cambiato. Il comando si utilizza con la seguente sintassi:

# md5sum package-name
La stringa restituita dal comando puo’ essere confrontata con la chiave MD5 pubblicata da chi distribuisce il pacchetto garantendo un buon livello di sicurezza.

I permessi dei files

È importante assicurarsi che i vostri file di sistema non siano aperti da utenti e gruppi che non dovrebbero fare manutenzione di sistema. I file SUID e SGID sono un potenziale rischio, e dovrebbero essere tenuti d’occhio. Visto che questi programmi danno speciali privilegi all’utente che li esegue, è necessario assicurarsi che non vengano istallati programmi insicuri. Un trucco molto diffuso fra i cracker è sfruttare programmi con SUID-root, quindi lasciare un programma SUID a fare da backdoor per entrare la prossima volta, anche se il buco originale viene chiuso. Trovate tutti i programmi SUID/SGID sul vostro sistema, e tenete appunti su cosa sono, così da essere al corrente di qualsiasi cambiamento che potrebbe indicare un eventuale intrusore. Usate questo comando per trovare tutti i programmi con SUID/SGID sul vostro sistema:

root# find / -type f \( -perm -04000 -o -perm -02000 \)

La distribuzione Debian esegue un job ogni sera per determinare quali file con SUID esistano. Quindi li compara con quelli della sera precedente. Potete cercare questo log in /var/log/setuid*. Potete togliere i permessi SUID o SGID da un programma sospetto con chmod, quindi rimetterli se pensate che siano assolutamente necessari. # I file scrivibili da tutti, soprattutto i file di sistema, possono essere un buco nella sicurezza se un cracker accede al vostro sistema e li modifica. Inoltre, le directory scrivibili da tutti sono pericolose: permettono a un cracker di aggiungere o cancellare file come vuole. Per trovare tutti i file di libera scrittura sul vostro sistema, usate il comando:

root# find / -perm -2 ! -type l -ls
e assicuratevi di sapere perché quei file sono scrivibili. Durante l’uso normale alcuni file saranno liberamente scrivibili, inclusi alcuni da /dev, e i link simbolici, da cui il ! -type l che li esclude dal comando find.

Linux e File di Log

Una delle cose che rendono Linux un sistema operativo affidabile e sicuro è che praticamente tutte le operazioni vengono registrate. Queste informazioni sono estremamente importi per poter identificare eventuali problemi. I logs, se usati correttamente, vi forniranno tutte le informazioni di cui avete bisogno.
Il vostro sistema Linux registra le informazioni in diversi files di log. Questi files di log sono generalmente in formato ASCII standard e vengono generalmente registrati nella directory /var/log. Molti files vengono generati dal programma syslogd, mentre altri vengono venerati direttamente dalle applicazioni.
Questa guida spiega come leggere ed utilizzare alcuni di questi log di sistema, come configurare il programma di gestione del logging, syslogd, e come funziona la rotazione automatica dei log.

Log di sistema
I log di sistema si occupano principalmente di tenere sotto controllo il funzionamento di Linux, non necessariamente delle applicazioni installate dagli utenti. Ad esempio vengono monitorati l’accesso al sistema, i daemons di sistema, i messaggi di sistema, etc.

Log di autorizzazione
Il log di autorizzazione tiene traccia del sistema di autenticazione, dei sistemi che si occupano di gestire e richiede agli utenti le password, comne il modulo PAM, il comando sudo, gli accessi da remoto, etc. Il log di autorizzazione viene salvato in /var/log/auth.log.
Per leggere solo le righe dei logs che ci interessano ` possibile utilizzare il programma grep. Per esempio per controllare solo le righe relative ai logins sshd :
grep sshd /var/log/auth.log | less
Daemon Log

Il daemon ` un programma che gira in automatico in background, svolgendo alcune operazioni che garantiscono il corretto funzionamento del sistema. Il log /var/log/daemon.log contiene informazioni relative ai vari servizi che girano in background, come lo Gnome Display Manager, il servizio Bluetooth hcid, o il servizio MySQL mysqld.

Anche in questo caso è possibile utilizzare grep per trovare le informnazioni che ci interessano.

Debug Log
Il debug log viene salvato in /var/log/debug e fornisce informazioni dettagliate sul sistema Linux e sulle applicazioni che hanno impostato un livello di log DEBUG.

Kernel Log
Il kernel log viene salvato in /var/log/kern.log e fornisce informazioni dettagliate provenienti dal kernel Linux. Questi messaggi possono essere utili per controllare problemi relativi ad un kernel nuovo e compilato dall’utente.

Kernel Ring Buffer
Il kernel ring buffer non è un vero e proprio log ma un’area del kernel che può essere utilizzata per visualizzare i messaggi dei avvio del kernel utilizzando l’utility dmesg. Per visualizzare i messaggi utilizzare :
dmesg | less
Ad esempio per cercare i messaggi relativi al sistema Plug & Play :
dmesg | grep pnp | less
In alternativa è possibile cercare le stesse informazioni nel file /var/log/dmesg.

Message Log
Il messages log viene salvato in /var/log/messages e fornisce informazioni provenienti sia dalle applicazioni che dal sistema operativo. Questo log è utile per controllare i messaggi di log generati dalle applicazioni o dal sistema operativo che hanno impostato un livello di log INFO.

System Log
Il system log viene salvato in /var/log/syslog e fornisce la maggior parte delle informazioni provenienti dal sistema operativo. Controllate questo file se non riuscite a trovare le informazioni desiderate in nessun altro log.

Application Log
Alcune applicazioni generano anche dei logs personalizzati in una subdirectory nella cartella /var/log. Ad esempio /var/log/apache2 contiene i files di log relativi al web server Apache 2.

Log in formato non leggibile ad occhio umano
Alcuni files di log salvati nella cartella /var/log vengono salvati in un formato utilizzabile solo da altre applicazioni e non manualmente. Ad esempio:

Log con errori di login
Eventuali errori di login vengono registrati nel file /var/log/faillog in un formato non leggibile ad occhio umano. Per visualizzare gli errori recenti di login:
faillog
Log con gli ultimi login

Gli ultimi login vengono registrati in /var/log/lastlog. Per leggere il contenuto del file è necessario utilizzare il comando lastlog.

Come Configurare la Tastiera

Forse non sai che è possibile personalizzare la tastiera del PC. Sebbene siano universalmente diffuse nel mondo dell’informatica, le tastiere possono rivelarsi per molti utenti sorprendentemente poco conosciute. Tuttavia, anche chi usa solo occasionalmente il computer sarà di certo felice di risparmiare tempo e fatica nella battitura di un documento.

A questo scopo windows mette a disposizione degli utenti alcuni piccoli accorgimenti per personalizzare la tastiera e renderla più maneggevole e adatta alle loro esigenze. Nel pannello di controllo si trova l’icona tastiera: con un doppio clic su di essa si aprirà la finestra proprietà tastiera. La maggior parte delle opzioni riguarda la velocità, cioè la reattività alla pressione dei tasti.

Nella linguetta velocità troverai i comando ritardo di ripetizione e velocità di ripetizione. Il primo si riferisce al tempo necessario perchè la pressione continuata di un tasto provochi la ripetizione del carattere corrispondente. Molte persone nel corso della scrittura mantengono i tasti involontariamente premuti più tempo del dovuto.

Il comando velocità di ripetizione regola invece la velocità con cui a tasto premuto, il carattere si visualizza sullo schermo. Converrà regolarla in modo opportuno, per evitare che la pressione di un tanto mantenuta per pochissimi secondi provochi un numero eccessivo di battute. Analogamente è possibile modificare la velocità dell’intermittenza del cursore.

Bisogna poi segnalare che sul mercato ci sono tastiere, specialmente quelle dedicate al gioco, che vengono vendute con programmi che permettono una configurazione dettagliata. Per dettagli è possibile vedere questa guida sulle tastiere gaming su Sceltatech.com.

Le normali tastiere sono comunque adatte per le esigenze della maggioranza delle persone.