04.Caratteristiche del File System Linux
Come si è visto nel capitolo precedente, il comando ‘’’ls -la’’’ di Linux, da molte informazioni sui file e directory, vediamoli in dettaglio.
L’output da come risultato 7 colonne il cui significato (partendo da sinistra) è:
il primo gruppo (lettera d) indica il tipo di file:
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:
Questo perché ad ogni lettera è stato assegnato un perso: r=4, w=2 e x=1.
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:
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)
Se si tratta di un file indica il numero di Hard Link presenti.
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...
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
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 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
- 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)
- 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)
Questo perché ad ogni lettera è stato assegnato un perso: r=4, w=2 e x=1.
rwx r-x r-x
421 421 421
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
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.