GNU/Linux >> Linux Esercitazione >  >> Linux

Un caso d'uso valido per un'autorizzazione file "solo esecuzione"?

Stavo leggendo su chmod e le sue modalità ottali. Ho visto quel 1 viene eseguito solo. Qual è un caso d'uso valido per un'autorizzazione di sola esecuzione? Per eseguire un file, in genere si vorrebbe leggere ed eseguire il permesso.

$ echo 'echo foo' > say_foo
$ chmod 100 ./say_foo
$ ./say_foo
bash: ./say_foo: Permission denied
$ chmod 500 ./say_foo
$ ./say_foo
foo

Risposta accettata:

Script di shell richiedono l'autorizzazione di lettura per essere eseguiti, ma file binari non:

$ cat hello.cpp
#include<iostream>

int main() {
    std::cout << "Hello, world!" << std::endl;
    return 0;
}
$ g++ -o hello hello.cpp
$ chmod 100 hello
$ ./hello
Hello, world!
$ file hello
hello: executable, regular file, no read permission

Visualizzare il contenuto di un file ed eseguirlo sono due cose diverse. Con gli script di shell, queste cose sono correlate perché vengono "eseguite" "leggendole" in una nuova shell (o in quella attuale), se perdonerai la semplificazione. Questo è il motivo per cui devi essere in grado di leggerli. I binari non usano questo meccanismo.

Per le directory, il permesso di esecuzione è leggermente diverso; significa che puoi fare cose ai file all'interno quella directory (ad es. leggerli o eseguirli). Quindi supponiamo che tu abbia una serie di strumenti in /tools che vuoi che le persone possano usare, ma solo se ne sono a conoscenza. chmod 711 /tools . Quindi le cose eseguibili in /tools può essere eseguito in modo esplicito (ad es. /tools/mytool ), ma ls /tools/ sarà negato. Allo stesso modo, i documenti possono essere archiviati in /private-docs che potrebbe essere letto se e solo se si conoscono i nomi dei file.


Linux
  1. Come utilizzare Inotifywait per guardare una directory per la creazione di file di un'estensione specifica?

  2. Linux – Solo per l'esecuzione di autorizzazioni file?

  3. Come trovare i valori validi per il termine da utilizzare in Tmux?

  4. Come usare chmod per modificare i permessi dei file?

  5. Tabella delle autorizzazioni per tipi di utenti di file/directory e file system

Come usare CherryTree per prendere appunti

Come utilizzare il comando SCP per il trasferimento di file

Come utilizzare il Bluetooth su Ubuntu per il trasferimento di file

Come usare gzip in Linux?

Posso usare un disco di virtualbox per più macchine?

È una buona idea usare git per il controllo della versione del file di configurazione?