Consentire l’Esecuzione, modificando la PATH

Pubblicato da Yuri Carlenzoli | 11 Febbraio 2008

Quando su Linux si va eseguire un comando, file eseguibile o programma, la shell lo cercherà nelle directory predefinite nella nostra variabile PATH, fa in modo che in qualsiasi directory ci si trova, senza digitare il percorso assoluto cercherà il comando automaticamente in quelle directory.

Per vedere le variabili PATH assegnate al nostro utente basta digitare da console echo $PATH (dipende dal tipo di shell se PATH va scritto maiuscolo o minuscolo, verrà visualizzato a monitor una cosa di questo tipo:

PATH=/bin:/usr/bin:/usr/local/bin

L'output che restituisce la shell dopo aver digitato il comando sono le directory in cui la nostra shell cercherà gli script, i file eseguibili ed i programmi, che sono divise da : (due punti), nell'esempio la PATH è settata per /bin, /usr/bin e /usr/local/bin.

Se però si vorrebbero ad esempio eseguire degli script creati per far varie prove presenti nella home utente senza spostarsi continuamente con la shell, si può modificare la variabile PATH, è possibile modificarla a livello locale (solo per un utente) ed anche a livello globale (per tutti), per consentire l'esecuzione di script nella home utente non servono neanche i permessi di root, a livello globale bisogna invece essere amministratori di sistema, gli utenti possono modificare il loro file ~/.bash_profile.

Come da esempio, per consentire l'esecuzione degli script presenti nella home in una ipotetica cartella di prova nella shell si dovrà digitare:

export PATH=$PATH:/home/nome utente/prova

Questo aggiungerà alla PATH anche la directory contenente gli script di prova.

In certi casi invece è molto comodo consentire l'esecuzione di comandi privilegiati agli utenti, per far questo si dovranno modificare i permessi dei file da root.

Per consentire l'esecuzione di comandi privilegiati non è solo necessario modificare i permessi però, si dovrà anche linkare il file eseguibile in una directory in cui è presente la PATH dell'utente, ad esempio, se si vorrebbe spegnere il computer da user, oltre a modificarne il permesso all'eseguibile (chmod 4755 /sbin/halt) bisognerà anche a copiare l'eseguibile dove la path possa trovarlo si potrebbe ad esempio si potrebbe digitare ln -s /sbin/halt /bin/halt per collegarlo nella directory /bin/halt, ora l'utente potrà spegnere il computer con Linux se non gli è permesso.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Moderazione dei commenti attiva. Il tuo commento non apparirà immediatamente.