Home > Comandi Console, Gnome, Linux, Ubuntu > Eseguire un programma con un altro utente

Eseguire un programma con un altro utente

25 marzo 2008

Siamo abituati ad eseguire programmi come root utilizzando sudo programma o gksudo programma, ma potrebbe non essere immediato pensare che lo stesso sudo può eseguire programmi anche con altri utenti.

Una semplice dimostrazione consiste nel richiamare il programma whoami che restituisce il nome dell’utente che esegue il comando. Se apriamo un terminale e digitiamo:

whoami

Ci verrà restituito il nostro nome utente, quello che stiamo utilizzando. Alla stessa maniera eseguendo:

sudo whoami

Ci verrà restituito root, poiché root è l’utente che viene automaticamente assunto nel comando sudo.

Per richiamare un comando qualsiasi utilizzando un altro utente sarà possibile utilizzare:

sudo -u UTENTE PROGRAMMA

Ad esempio con:

sudo -u marco whoami

Ci verrà restituito appunto marco e ciò è valido per qualsiasi programma venga eseguito. Ciò si rende utile ad esempio per eseguire un accesso a files o cartelle di proprietà di un altro utente. Ad esempio:

sudo -u marco mkdir /home/marco/prova

Creerà la cartella di nome prova all’interno della home dell’utente marco e naturalmente tale operazione verrà eseguita utilizzando l’utente che abbiamo indicato, non il nostro né root.

Possiamo notare anche di poter utilizzare quegli utenti di sistema creati automaticamente per l’utilizzo con vari servizi che non possiedono alcuna password o sono disabilitati:

sudo -u www-data whoami

L’utente www-data è quello sotto il quale gira il servizio HTTP di Apache, un server web molto utilizzato in ambiente Linux, che non possiede alcuna password e non è possibile quindi accedere direttamente.

Si rivela molto utile eseguire programmi con utenti senza alcun privilegio extra che potrebbe arrecare danni non previsti o rischi per la sicurezza.

About these ads
Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 120 follower

%d blogger cliccano Mi Piace per questo: