Prerequisiti
Prima di iniziare, assicurati di avere accesso al guscio di un sistema Linux; Qualsiasi distribuzione Linux andrà bene. In questa guida, stiamo gestendo Ubuntu 18.04.
Altrettanto cruciale è assicurarsi di avere uno script di shell con autorizzazioni di esecuzione. Abbiamo un semplice script di shell chiamato Benvenuto.sh Ciò richiede il nome di un utente e lo stampa al terminale. Ecco una sbirciatina.
Come eseguire uno script di shell come un altro utente
Di solito, l'esecuzione di uno script di shell come utente attualmente loggato è piuttosto un gioco da ragazzi. Chiama semplicemente lo script shell come segue:
$ ./Benvenuto.sh
Ma come eseguiresti lo script come un altro utente a parte te stesso? Per raggiungere questo obiettivo, usa semplicemente la sintassi mostrata dove il Altro è il diverso utente che si desidera eseguire lo script.
$ su Altro Ulteruser -s Script.sh
Supponiamo di voler eseguire la sceneggiatura come Linuxways utente. Il comando da eseguire sarà:
$ su Linuxways -s benvenuto.sh
Per confermare che l'altro utente ha eseguito lo script, eseguiremo il comando come mostrato.
$ sudo -h -u altrauser bash -c 'echo "Sono $ utente, con uid $ uid"'
In questo caso, il nostro altro utente lo è Linuxways, Quindi invoceremo il comando.
$ sudo -h -u linuxways bash -c 'echo "I am $ utente, con uid $ uid"'
IL $ Utente E $ Uid Variabili Stampano il nome utente e l'UID dell'utente che esegue lo script. In caso di dubbio o nel caso in cui desideri verificarlo, puoi visualizzare il /etc/passwd file e cerca i dettagli dell'utente come segue.
$ cat /etc /passwd | Grep Linuxways
Ecco un riepilogo dell'output da entrambi i comandi. Notare come il nome utente e l'UID dall'esecuzione dello script shell corrispondano a quelli nel /etc/passwd file.
Conclusione
Se ti chiedevi come eseguire uno script di shell come un altro utente, speriamo che la tua ricerca ora sia finita.