GNU/Linux >> Linux Esercitazione >  >> Linux

Esegui rispetto al bit di lettura. Come funzionano i permessi di directory in Linux?

Quando si applicano i permessi alle directory su Linux, i bit dei permessi hanno significati diversi rispetto ai normali file.

  • Il bit di lettura (r ) consente all'utente interessato di elencare i file all'interno della directory
  • Il bit di scrittura (w ) consente all'utente interessato di creare, rinominare o eliminare file all'interno della directory e modificare gli attributi della directory
  • Il bit di esecuzione (x ) consente all'utente interessato di entrare nella directory e accedere ai file e alle directory al suo interno
  • La parte appiccicosa (T o t se il bit di esecuzione è impostato per altri) afferma che i file e le directory all'interno di quella directory possono essere eliminati o rinominati solo dal loro proprietario (o root)

Innanzitutto, pensa:cos'è una directory? È solo un elenco di elementi (file e altre directory) che risiedono all'interno. Quindi:directory =lista di nomi.

Leggi bit =Se impostato, puoi leggere questo elenco. Quindi, per esempio, se hai una directory chiamata poems :

  • Puoi ls poems e otterrai un elenco di oggetti che vivono all'interno (-l non rivelerà alcun dettaglio!)).
  • Puoi utilizzare il completamento della riga di comando, ad esempio touch poems/so <TAB> poems/somefile .
  • Non puoi fare poems la tua directory di lavoro (ad esempio cd dentro).

Scrivi bit =Se impostato, puoi modificare questo elenco, ad esempio puoi {aggiungere, rinominare, eliminare} nomi su di esso. Ma! Puoi effettivamente farlo solo se è impostato anche il bit di esecuzione.

Esegui bit =Rendi questa directory la tua directory di lavoro, ad esempio cd dentro. Hai bisogno di questa autorizzazione se vuoi:

  • accedere (leggere, scrivere, eseguire) agli elementi che vivono all'interno.
  • modificare l'elenco stesso, ovvero aggiungere, rinominare, eliminare nomi su di esso (ovviamente il bit di scrittura deve essere impostato sulla directory).

Caso interessante 1 :Se si dispone dei permessi di scrittura + esecuzione su una directory, è possibile {cancellare, rinominare} gli elementi all'interno anche se non si dispone dei permessi di scrittura su tali elementi. (usa lo sticky bit per impedirlo)

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 all'interno, non è possibile eliminare il file (perché comporta la rimozione dall'elenco). Tuttavia, puoi cancellarne il contenuto, ad es. se è un file di testo puoi usare vi per aprirlo ed eliminare tutto. Il file sarà ancora lì, ma sarà vuoto.

Sommario:

Leggi bit =Puoi leggere i nomi sulla lista.
Scrivi bit =È possibile {aggiungere, rinominare, eliminare} i nomi nell'elenco SE è impostato anche il bit di esecuzione.
Esegui bit =Puoi rendere questa directory la tua directory di lavoro.

PS:L'articolo menzionato da Kusalananda è una buona lettura.


Ho preparato questa tabella con tutti i permessi possibili ei loro effetti pratici.

(*) Solo nomi di file :altri attributi come dimensione o data non sono accessibili. Per esempio. puoi usare il tasto tab per il completamento automatico ma non il comando ls.

Alcuni pensieri :

  • Con X disattivato , R e W sono per lo più inutili.
  • X da solo disabilitando RW ti dà un falso senso di sicurezza poiché potresti leggere e scrivere ciecamente i contenuti dei file e accedere alle sottodirectory. Dovresti assicurarti che tutti i figli diretti della directory abbiano permessi espliciti.
  • Raramente utilizzerai valori diversi da:
    • 0 :Nessun accesso.
    • 1 :Accesso minimo che consente l'attraversamento.
    • 5 :Consente la lettura/scrittura, ma non altera la struttura dell'albero delle directory stesso.
    • 7 :Accesso completo.

Linux
  1. Come aggiornare un collegamento simbolico Linux

  2. Permessi dei file in Linux – Lettura/Scrittura/Esegui

  3. UNIX / Linux:come utilizzare Sticky Bit su directory e file

  4. Come ottenere la dimensione della directory in Linux

  5. Come eseguire un file PL in Linux?

Come rimuovere una directory in Linux

Come modificare le autorizzazioni in Linux

Come leggere un file con spazi in Linux

Come copiare la directory su Linux

Come gzippare una directory in Linux

Permessi della directory Linux di base e come controllarli