Cómo ejecutar un script de shell como un usuario diferente

Cómo ejecutar un script de shell como un usuario diferente
A veces es posible que se encuentre requerido para ejecutar un script de shell como un usuario diferente otro que el usuario activo en el shell. Esto es bastante fácil y se puede hacer en algunos pasos simples, entonces, ¿cómo se hace esto?? Vamos a averiguar.

Requisitos previos

Antes de comenzar, asegúrese de tener acceso a la carcasa de un sistema Linux; Cualquier distribución de Linux funcionará bien. En esta guía, estamos ejecutando Ubuntu 18.04.

Igualmente crucial es asegurarse de tener un script de shell con permisos de ejecución. Tenemos un simple script de shell llamado bienvenido.mierda que solicita el nombre de un usuario y lo imprime en la terminal. Aquí hay un adelanto.

Cómo ejecutar un script de shell como otro usuario

Por lo general, ejecutar un script de shell como el usuario iniciado actualmente es bastante brisa. Simplemente llame al script de shell de la siguiente manera:

ps ./bienvenido.mierda

Pero, ¿cómo ejecutarías el script como otro usuario aparte de ti mismo?? Para lograr esto, simplemente use la sintaxis que se muestra donde el otro es el usuario diferente que desea ejecutar el script.

Script $ Su Otrotuser -S.mierda

Supongamos que queremos ejecutar el script como el vías linux usuario. El comando que se ejecutará será:

$ su linuxways -s bienvenido.mierda

Para confirmar que el otro usuario ha ejecutado el script, ejecutaremos el comando como se muestra.

$ sudo -h -u OTROUSER BASH -C 'ECHO "Soy $ usuario, con uid $ uid"'

En este caso, nuestro otro usuario es vías linux, Entonces invocaremos el comando.

$ sudo -h -u linuxways bash -c 'echo "Soy $ usuario, con uid $ uid"'

El $ Usuario y $ Uid Variables Imprima el nombre de usuario y el UID del usuario que ejecuta el script. Si está en duda o en caso de que desee verificar esto, puede ver el /etc/passwd Archivo y busque los detalles del usuario de la siguiente manera.

$ cat /etc /passwd | Grep Linuxways

Aquí hay un resumen de la salida de ambos comandos. Observe cómo el nombre de usuario y el UID al ejecutar el script de shell coinciden con los de los en el /etc/passwd archivo.

Conclusión

Si se preguntó cómo ejecutar un script de shell como otro usuario, esperamos que su búsqueda haya llegado a su fin.