Come eseguire i comandi come un altro utente su Linux

25 dic 2020 2 min di lettura
Come eseguire i comandi come un altro utente su Linux
Indice dei contenuti

Introduzione

Linux è il sistema operativo open source più utilizzato. Gli utenti Linux hanno un gran numero di opzioni per scegliere il sistema operativo da utilizzare. Hai diverse opzioni per scegliere il desktop per i tuoi sistemi Linux. I professionisti Linux amano ancora il funzionamento della riga di comando. Principalmente le edizioni per server Linux vengono fornite solo con l'opzione della riga di comando, che le rende più leggere e veloci.

Gli utenti Linux utilizzano la shell per interagire con i sistemi operativi. In cui Bash (Born Shell) è la shell più utilizzata e disponibile di default sulla maggior parte dei sistemi. Ora anche Zsh (Z Shell) sta diventando popolare tra gli utenti grazie alle sue caratteristiche.

In questo tutorial imparerai come eseguire il comando come un altro utente nei sistemi Linux/Unix.

Eseguire comandi come un altro utente con Su

Il comando su (Cambia utente) viene utilizzato per eseguire la shell come un altro utente. Questo comando passa al nuovo utente e carica il suo ambiente.

Il comando di base su appare come di seguito:

su - username 

Il comando sopra ti permette di cambiare ad un altro utente, dove puoi eseguire comandi con quell'utente. Ma il nostro scopo è eseguire il comando Linux come un altro utente senza fare il cambio utente. Per fare ciò, controlla l'esempio seguente.

Sono attualmente connesso come utente root. Puoi passare il tuo comando con il parametro -c . Ora, l'esempio seguente eseguirà il comando ls come utente alice senza cambiare utente:

su - alice -c "pwd" 
/home/alice

Puoi anche eseguire più comandi come un altro utente in Linux, come:

su - alice -c "pwd; mkdir hello && cd hello; pwd" 
/home/alice
/home/alice/hello

Nel comando precedente, prima stampa la directory di lavoro presente con pwd, quindi crea e passa alla nuova directory denominata hello. Stampa nuovamente la directory di lavoro presente. Tutti i comandi sono separati da punto e virgola ; come facciamo in generale.

Eseguire il comando come un altro utente con Sudo

Questo metodo è generalmente usato per eseguire il comando come utente root, ma puoi anche usarlo con altri utenti. Qui non è necessario utilizzare alcuna opzione della riga di comando. Immettere il nome dell'utente con cui si desidera eseguire il comando.

Sintassi:

sudo -u username [commands...]

Ad esempio, stai scrivendo uno script di shell, che richiedeva di essere eseguito come utente non root. Ma è necessario riavviare il servizio apache2. In tal caso puoi usare sudo per eseguire il comando come utente root:

sudo -u root 'systemctl restart apache2' 

Eseguire il comando come un altro utente con Runuser

È inoltre possibile utilizzare runuser per eseguire comandi come un altro utente nei sistemi Linux. Si tratta di comandi meno conosciuti dagli utenti Linux. Utilizzare il comando runuser per eseguire comandi con l'ID utente effettivo e l'ID gruppo dell'utente definito.

Sintassi:

runuser - username -c [commands...]

Ad esempio, esegui un comando come utente alice e crea una directory nella sua directory home:

runuser - alice -c 'mkdir -p ~/hello' 

Quindi elenca i file nella directory home dell'utente alice:

runuser - alice -c 'ls -l' 
total 16
-rw-r--r-- 1 alice alice 8980 Feb 16  2020 examples.desktop
drwxr-xr-x 2 alice alice 4096 Dec 22 14:55 hello

È inoltre possibile eseguire entrambi i comandi in un unico comando. Basta aggiungere più comandi separati da un punto e virgola:

runuser - alice -c 'mkdir -p ~/hello; ls -l' 

Conclusione

In questo tutorial, hai imparato a eseguire comandi come un altro utente nel sistema Linux. Hai imparato a eseguire comandi come un altro utente con l'aiuto dei comandi su, sudo e runuser Linux.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.