GNU/Linux >> Linux Esercitazione >  >> Linux

Perché una cartella deve essere eseguibile?

Le directory (in genere non sono chiamate cartelle in *nix) hanno un significato diverso per i bit di autorizzazione rispetto ai normali file.

Per le directory, write consente di creare nuovi file e di eliminare i file al loro interno.

Leggi ti permette di elencare i file al suo interno.

Execute ti permette di accedervi e di accedere ai file (o ad altre directory) al suo interno.


Poiché non è possibile "eseguire" una directory, il bit di esecuzione è stato utilizzato in modo migliore. Il bit di esecuzione su una directory ti consente di accedere agli elementi che si trovano all'interno della directory, anche se non puoi elencare il contenuto delle directory.

$ mkdir -p dir/
$ echo 'Hello World!' > dir/file
$ chmod 000 dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
cat: dir/file: Permission denied
$ chmod +x dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
Hello World!

Dal chmod manpage:

Le lettere rwxXst selezionano i bit della modalità file per gli utenti interessati:leggi (r), scrivi (w), esegui (o cerca directory) (x) , esegui/cerca solo se il file è una directory o ha già il permesso di esecuzione per qualche utente (X), imposta l'ID utente o di gruppo sull'esecuzione (s), flag di eliminazione limitata o sticky bit (t).


I permessi di esecuzione su una directory consentono di attraversarla, per utilizzare le risorse in essa contenute.


Linux
  1. Come eliminare una directory e una cartella in Linux?

  2. Perché Rm può rimuovere i file di sola lettura?

  3. Perché i file .so sono eseguibili?

  4. rinominare una cartella enorme:è rischioso?

  5. PSCP:carica un'intera cartella, da Windows a Linux

Come proteggere con password una cartella in cPanel

perché sftp rmdir non funziona?

Perché non posso scegliere una cartella condivisa di VirtualBox?

Linux / Cartella e cartella /root

Perché la directory principale è indicata da un segno /?

Non riesci a trovare .so nella stessa directory dell'eseguibile?