Metodi di pagamento Abuse

Rendere un file eseguibile in Linux

06.03.2021, 20:51

Ciò che rende Linux diverso da Windows in termini di esecuzione dei file è che il primo sistema definisce i file eseguibili come file di programma non in base alla loro estensione, ma a uno speciale flag di eseguibilità. Ogni file ha quindi tre modalità di eseguibilità: lettura, esecuzione e scrittura. Sono queste modalità a determinare ciò che il sistema può fare con un determinato file. Quando un utente scarica vari programmi di installazione da Internet o crea uno script, per impostazione predefinita gli vengono assegnate le seguenti modalità: lettura e scrittura. In breve, l'utente non sarà in grado di fare nulla con un programma di questo tipo, in quanto è necessario fare qualcos'altro con esso.

Cosa significa eseguibilità?

Prima di tutto, però, dobbiamo affrontare una domanda: che cos'è l'eseguibilità e che cosa significa in generale? Partiamo da un programma, che è un insieme di istruzioni eseguite da un processore su un insieme di dati per ottenere il risultato desiderato. Per il processore non c'è differenza tra istruzioni e dati.

Sia le prime che i secondi sono costituiti da cifre - byte. Una certa combinazione di cifre indica al processore la necessità di eseguire una particolare azione. Per il processore non c'è alcuna differenza fondamentale su quale processo eseguire: i dati del sistema operativo o un file di testo. Sia il primo che il secondo verranno eseguiti, ma nel caso di un file di testo la necessità di istruzioni viene di fatto eliminata.

I flag di eseguibilità sono stati inventati per far capire al sistema quali istruzioni devono essere eseguite e quali no. In realtà, il contenuto non cambia in alcun modo a seconda della classe di eseguibilità impostata: la differenza si riduce solo a poche righe. Con gli script tutto funziona allo stesso modo, solo che i comandi non vengono eseguiti dal processore, ma da un interprete, ad esempio, negli script bash, dalla stessa shell bash. Anche i programmi regolari hanno un proprio caricatore: si tratta di ld-linux.so.2.

Come rendere un file eseguibile

Il sistema Linux dispone di un'utilità speciale che consente di gestire i flag, chiamata chmod. Per chiamare questa utilità, è necessario invocare la sintassi:

$ chmod category action flag file_address

КАК СДЕЛАТЬ ФАЙЛ ИСПОЛНЯЕМЫМ В LINUX

A questo punto si deve tenere conto di quanto segue:

Flag - uno dei flag disponibili - r (lettura), w (scrittura), x (esecuzione).

Categoria - può essere impostata per tre categorie: proprietario del file, gruppo di dati e tutti gli altri utenti. Nel comando sono indicate rispettivamente con u (utente) g (gruppo) o (altro).

Azione - può essere + (più), il che significa impostare il flag o - (meno) rimuovere il flag.

Quindi, per rendere uno script eseguibile in Linux, l'utente deve eseguire:

$ chmod u+x file_address

Spesso questo è già sufficiente per renderlo eseguibile, ma se altri utenti devono essere autorizzati a eseguire questi file, è necessario aggiungere altro:

$ chmod ugo+x file_address

Per vederli nel terminale, basta usare l'utilità ls:

$ ls -l file_directory

Посмотреть флаги в терминале можно с помощью утилиты ls

I flag sono inclusi per tutte le categorie. I primi rwx sono flag di proprietario, i secondi sono flag di gruppo e i terzi sono per tutti gli altri. Se non è impostato, un trattino prenderà il suo posto.

Disattivare il flag di eseguibile è molto semplice. Si usa lo stesso comando, solo con il segno meno:

$ chmod u-x file_address

Consideriamo ora il problema dell'impostazione della gestibilità nell'interfaccia grafica.

Come impostare il flag di eseguibilità nella GUI

Per i principianti, questa istruzione sarà più semplice. Prendiamo come esempio il gestore di GNOME, Nautilus. Fare clic con il tasto destro del mouse sul nostro programma o oggetto di script per aprire il menu contestuale, quindi selezionare proprietà:

КАК УСТАНОВИТЬ ФАЛГ ИСПОЛНЯЕМОСТИ В GUI

Passare alla scheda permessi e selezionare "Consenti l'esecuzione del file come programma":

Разрешить выполнение файла как программы:

Ora verrà lanciato dal sistema direttamente dal gestore. Queste sono le istruzioni complete. Ora non sarà più difficile lanciare un programma o uno script da Internet.