Come si è visto nel capitolo precedente, il comando ‘’’ls -la’’’ di Linux, da molte informazioni sui file e directory, vediamoli in dettaglio.
ls –la

drwxr-xr-x  23 root root   4096 May 17 23:58 .
drwxr-xr-x  23 root root   4096 May 17 23:58 ..
-rw-r--r--   1 root root      0 May 17 23:58 .autofsk
drwxr-xr-x   2 root root   4096 Apr 25 20:29 bin
drwxr-xr-x   4 root root   1024 Apr 25 20:40 boot
...
Fate attenzione che per linux tutto è un file.
Questo vuol dire che anche le directory, i link, i dispositivi a blocchi... sono trattati come file.
Molte volte userò il termine file per riferirmi in modo generico a file, directory, link, dispositivi, ecc...

L’output da come risultato 7 colonne il cui significato (partendo da sinistra) è:
  • tipo di file e permessi
  • directory o hardlink
  • utente proprietario
  • gruppo proprietario
  • dimensioni
  • data di creazione
  • nome del file
Vediamo il significato di ogni colonna.

1. tipo di file e permessi

E’ caratterizzato da una sequenza di 10 lettere suddivise in 4 gruppi (nel caso del primo):
d      rwx    r-x    r-x
type   user   group  other

il primo gruppo (lettera d) indica il tipo di file:
  • - file
  • d directory
  • l link
  • d dispositivo a blocchi (block device)
  • c dispositivo a caratteri (character device)
  • s socket
Il secondo gruppo (rwx) indicano i permessi concessi all’utente proprietario del file (utente root in questo caso)

Il terzo gruppo (r-x) indicano i permessi concessi al gruppo proprietario del file (gruppo root in questo caso)

Il quarto gruppo (r-x) indicano i permessi concessi agli altri (in questo caso agli utenti che non sono root e che non appartengono al gruppo root)

Il significato delle lettere è il seguente:
  • r lettura sul file o listare il contenuto di una directory
  • w scrittura sul file o poter aggiungere file (e altro) a una directory
  • x esecuzione o accesso alla directory
Oltre a questi al file possono essere associati altri attributi:
  • suid (Set User ID) se settato la terza lettera dell’utente (x) sarà S o s, ed indica che il file verrà eseguito sempre con i permessi dell’utente root indipendentemente dal proprietario/gruppo del file (un esempio è il comando passwd)
  • guid (Set Group ID) se settato la terza lettera del gruppo (x) sarà S o s, ed indica che il file verrà eseguito sempre con i permessi del gruppo root indipendentemente dal proprietario/gruppo del file
  • stikybit se settato la terza lettera dei permessi relativi agli altri (x) sarà T o t, ed indica che il file verrà tenuto in memoria dopo l’esecuzione (poco usato)
Come ho detto la letterapuò essere maiuscola o minuscola, questo dipende dallo stato del permesso di esecuzione (x):
  • se ho il permesso di esecuzione settato ho la lettera minuscola (s o t)
  • se il permesso di esecuzione non è settato ho la lettera maiuscola (S o T)
Oltre ad indicare i permessi con le lettere è possibile indicarli anche come 3 numeri in base ottale. Riprendendo l’esempio di prima rwxr-xr-x, posso scriverlo come 755.
Questo perché ad ogni lettera è stato assegnato un perso: r=4, w=2 e x=1.
rwx r-x r-x	
421 421 421
Quindi per ricavare la rappresentazione numerica non devo fare altro che sommare il peso di ogni lettera.
Posso usare la rappresentazione numerica anche per indicare i bit suid/guid/strike usando un formato a 4 numeri dove il primo indica lo stato di questi bit. Il peso assegnato a ogni bit è indicato qui sotto:
--s --s --t	
  4   2   1
Se voglio impostare il suid con tutti i permessi all’utente, gruppo e altri, scriverò: 4777 che corrisponde a rws rwx rwx (il comando per cambiare i permessi è chmod, es: chmod 4777 nomeFile, chmod 511 nomeFile)

2. directory o hardlink

Se si tratta di una directory indica quante directory sono contenute in essa (minimo due in quanto le directory . e .. ci sono sempre).
Se si tratta di un file indica il numero di Hard Link presenti.

3. utente proprietario

Indica a quale utente appartiene il file

4. gruppo proprietario

Indica a quale gruppo appartiene il file

5. dimensioni

Le dimensioni del file.

6. data di modifica

La data di ultima modifica del file.

7. nome del file

Il nome del file. Se inizia con un punto si tratta di un file nascosto (per visualizzarlo ls –a).
Tags:
Linux18
Potrebbe interessarti anche: