#Pre-concetti

Filesystem Hierarchy Standard (FHS), è uno standard che definisce le directory principali ed il loro contenuto nel file system dei sistemi operativi Unix-like, tra cui i sistemi Linux.

Il File, è un tipo di dati astratto definito e realizzato dal sistema operativo. È una sequenza di record, che possono essere un byte, una variabile o un elemento di dati più complesso.
Poiché i file rappresentano il principale meccanismo di memorizzazione delle informazioni, è necessario che essi siano dotati di un sistema di protezione. Ogni tipo d’accesso ai file si può controllare separatamente (esempio lettura o scrittura).

È utile creare directory, per permettere di organizzare al meglio i file all’interno di un file system. Una directory a un livello in un sistema multiutente causa problemi di naming, poiché ogni file deve avere un nome unico. Una directory a due livelli limita questo problema creando una directory distinta per i file di ciascun utente. Le directory contengono la lista dei file che le costituiscono, insieme ad altre informazioni come: proprietario, ora e data di creazione, ultimo uso, etc.

#Cos’è e a cosa serve il File system?

Il file system è quella porzione di sistema operativo a cui è affidata la memorizzazione delle informazioni sul supporto di memoria fisico (esempio hard disk). Il file system definisce una struttura che consente di storicizzare e ritrovare i file.

In Linux i file vengono organizzati secondo una struttura gerarchica ad albero, che segue lo standard FHS (Filesystem Hierarchy Standard).

La radice di questo albero (ovvero la directory principale) è identificata con il simbolo slash / .
(1.0 – Immagine file system)

#Linux File System Directories

Guardiamo ora quali sono le principali directories da conoscere tassativamente, e cosa contengono ciascuna al loro interno:

DirectoryDescrizione
/binContiene i programmi essenziali per il sistema (tra cui la shell BASH e i comandi più comuni).
/sbinSono per lo più strumenti amministrativi, che dovrebbero essere resi disponibili solo all’utente root.
/bootContiene i file per l’avvio de sistema, quindi i file del bootloader (esempio GRUB) e il kernel Linux.
/devContiene i file che rappresentano i dispositivi fisici presenti nel computer. Come negli altri sistemi Unix anche in GNU/Linux qualsiasi cosa è rappresentata virtualmente come un file.
/etcContiene i file di configurazione dei programmi di sistema.
/libContiene le librerie essenziali, come glibc.
/procContiene dei file virtuali al cui interno vi sono informazioni sui processi in esecuzione.
/rootÈ la directory home dell’utente root.
/sysSimile a /proc, consente di ottenere informazioni sul sistema e sui suoi componenti.
/tmpDirectory dei file temporanei.
/mntContiene i punti di mount degli hard disk.
/usrContiene eseguibili e librerie non essenziali per l’avvio del sistema (quindi praticamente quasi tutti i nostri programmi).
/varContiene diversi file, tra cui i log del sistema e dei programmi.
/optContiene programmi opzionali.
1.0 – Immagine file system

#Social Networks

Questo è l’inizio di una breve guida su Linux, per principianti, che durerà massimo una decina di episodi, in collaborazione con ParrotOS. Se l’articolo vi è piaciuto – seppur sintetico – potete tranquillamente continuare a seguirci, oltre che su questo blog, anche sugli altri canali attivi e ricchi di contenuti: Twitch e YouTube.
Non esitate a lasciarci feedback, domande o precisazioni nei commenti o sui nostri canali social di Telegram e Discord!

Donato Di Pasquale
Donato Di Pasquale
@dipa996 | eWPT | CyberSecurity Enthusiast | Blog writer per PentestingMadeSimple

Lascia un commento