Innanzitutto, pensa: che cos'è una directory? È solo un elenco di elementi (file e altre directory) che vivono all'interno. Quindi: directory = elenco di nomi.
Bit di lettura = Se impostato, è possibile leggere questo elenco. Quindi, ad esempio, se hai una directory chiamata poems
:
- Puoi
ls poems
e otterrai un elenco di oggetti all'interno ( -l
non rivelerai alcun dettaglio!).
- È possibile utilizzare il completamento della riga di comando, ad es
touch poems/so <TAB> poems/somefile
.
- Non puoi creare la
poems
tua directory di lavoro (cioè cd
in essa).
Scrivi bit = Se impostato, è possibile modificare questo elenco, ad esempio è possibile {aggiungere, rinominare, eliminare} nomi su di esso. Ma! In realtà puoi farlo solo se è impostato anche il bit di esecuzione.
Execute bit = Imposta questa directory come directory di lavoro, cioè cd
in essa. È necessaria questa autorizzazione se si desidera:
- accedere (leggere, scrivere, eseguire) oggetti che vivono all'interno.
- modificare l'elenco stesso, cioè aggiungere, rinominare, cancellare i nomi su di esso (ovviamente il bit di scrittura deve essere impostato sulla directory).
Caso interessante 1 : se si dispone delle autorizzazioni di scrittura + esecuzione su una directory, è possibile {eliminare, rinominare} gli elementi che vivono all'interno anche se non si dispone di autorizzazioni di scrittura su tali elementi. (usa un po 'di sticky stick per evitarlo)
Caso interessante 2 : se si dispone dell'autorizzazione di esecuzione (ma non di scrittura) su una directory E si dispone dell'autorizzazione di scrittura su un file che vive all'interno, non è possibile eliminare il file (poiché comporta la rimozione dall'elenco). Tuttavia, puoi cancellarne il contenuto, ad esempio se è un file di testo puoi usare vi per aprirlo ed eliminare tutto. Il file sarà ancora lì, ma sarà vuoto.
Sommario:
Bit di lettura = È possibile leggere i nomi nell'elenco.
Scrivi bit = Puoi {aggiungere, rinominare, cancellare} nomi sulla lista SE è impostato anche il bit di esecuzione.
Esegui bit = È possibile impostare questa directory come directory di lavoro.
PS: l'articolo citato da Kusalananda è una buona lettura.