1.7. /home

Linux è un ambiente multiutente, perciò ad ogni utente viene assegnata anche una specifica directory che è accessibile solo a quel determinato utente e all'amministratore del sistema; queste sono le directory di home dell'utente, che si trovano in "/home/$USER" (~/). La directory di home dell'utente è il proprio "campo di gioco": ogni cosa è sotto il proprio comando, si possono scrivere file, cancellarli, installare programmi, etc. ... . La directory di home contiene i file di configurazione personale, conosciuti anche come "dot file" (il loro nome è preceduto da un punto). Normalmente i file di configurazione personale sono "nascosti", se si vuole vederli, si deve attivare l'opzione appropriata nel file manager o eseguire il comando ls con l'opzione -a. In caso di conflitto fra file di configurazione personale e file di configurazione globale di sistema prevarranno le impostazioni dei file personali.

I "dot file" che vengono modificati con maggior frequenza dall'utente finale sono probabilmente .xsession e .bashrc, i file di configurazione per X e per Bash. Tramite questi file è possibile cambiare, rispettivamente, il window manager da avviare dopo il login, e anche gli alias, e i comandi definiti dall'utente e le variabili d'ambiente. Quando viene creato un utente quasi sempre i suoi "dot file" vengono copiati dalla directory /etc/skel, dove gli amministratori del sistema mettono dei file di esempio che possono essere modificati dagli utenti nelle parti essenziali.

La directory /home può diventare piuttosto estesa e può essere usata per archiviare i file scaricati, per compilare, installare ed eseguire programmi, per la propria posta elettronica, per archiviare le raccolte di immagini o i file audio, etc. .

Il FSSTND asserisce che:


  la directory /home è un concetto piuttosto standard, ma dipende
  chiaramente dal tipo di filesystem di un sito specifico.
  
  Molte persone preferiscono mettere gli accout utente nei punti più
  disparati. Questa sezione descrive solo una posizione consigliata per le
  directory di home degli utenti; tuttavia si raccomanda, per tutte le
  distribuzioni conformi al FHS, l'uso di questa come collocazione predefinita
  per le directory di home.  Su sistemi di piccole dimensioni ogni directory
  dell'utente è tipicamente una delle molte sottodirectory di /home,
  come /home/smith, /home/torvalds, /home/operatore, etc. Sui sistemi di grosse
  dimensioni (specialmente quando le directory di home sono condivise fra
  diverse macchine tramite NFS), è utile suddividere le directory home
  dell'utente. La suddivisione può essere fatta con subdirectory, per
  esempio /home/redazione, /home/ospiti, /home/studenti, etc.
  
  La configurazione varia da host a host, per cui nessun programma dovrebbe
  dipendere dalla posizione di questa directory nella gerarchia del filesystem.

  Per sapere dove si trova la directory di home di un utente è meglio
  utilizzare la funzione della libreria getpwent(3) piuttosto che affidarsi al
  file /etc/passwd, poiché i dati dell'utente possono essere memorizzati
  in remoto usando sistemi come NIS.

  I file di configurazione personale delle applicazioni sono memorizzati nella
  directory di home dell'utente in un file che inizia col carattere "." (un
  "dot file"). Se un'applicazione ha necessità di creare più di
  un "dot file", questi possono essere collocati in una sottodirectory con un
  nome che inizia con un carattere '.' (una "dot directory"). In questo caso i
  file di configurazione non devono iniziare col carattere '.' .

  Fatta eccezione per "autosave" e per i file di lock, si
  raccomanda di evitare che i programmi creino file o directory i cui nomi
  non inizino con il carattere "." in una  directory home senza l'intervento
  dell'utente.