È possibile eseguire uno script se non si dispone dell'autorizzazione per leggerlo? In modalità root, ho creato uno script e voglio che l'altro utente esegua questo script ma non lo legga. Ho fatto chmod
vietare la lettura e la scrittura ma consentire l'esecuzione, tuttavia in modalità utente ho visto il messaggio che dice:permesso negato.
Risposta accettata:
Il problema è che lo script non è quello in esecuzione, ma l'interprete (bash
, perl
, python
, eccetera.). E l'interprete deve leggere la sceneggiatura. Questo è diverso da un programma "normale", come ls
, in quanto il programma viene caricato direttamente nel kernel, come farebbe l'interprete. Poiché il kernel stesso sta leggendo il file di programma, non deve preoccuparsi dell'accesso in lettura. L'interprete deve leggere il file di script, come dovrebbe essere letto un file normale.