Ejecutar comandos como otro usuario en Linux

Ejecutar comandos como otro usuario en Linux

Hay situaciones en la que necesitamos ejecutar un comando como si fuésemos otro usuario.
Esto puede necesitarse por ejemplo si trabajamos como root y queremos ejecutar alguna aplicación o comando desde el terminal como un usuario, sobre todo es bastante útil en scripts que necesitamos interactuar con distintos usuarios.

Terminal Linux terminator

Utilizar comandos en linux como otro usuario

La forma más habitual en un momento concreto es mediante "su" para cambiar al usuario que deseamos y ejecutar el comando volviendo luego a ejecutar "su" para regresar al usuario que teníamos o mediante "sudo" para ejecutar un solo comando como administrador pero esto puede ser tedioso o imposible según que situación, sobre todo si tratamos con scripts.
De la siguiente forma en solo una linea utilizaremos un comando como otro usuario sin tener que cambiar a este. tomaremos en los ejemplos el nombre "usuario" y "usuario2" que en vuestra situación variará.

Estructura para usar comando como otro usuario

$ su usuario -c 'comando'



Usar comando con opciones o ruta como otro usuario

Por ejemplo para abrir "gedit" como otro usuario llamado "usuario2" estando como usuario1 sería así:

$ su usuario2 -c 'gedit'

En el caso de que el comando que necesitamos ejecutar implique modificadores o una ruta de trabajo se la asignamos entre las comillas tal y como si fuese lo que se halla dentro de las comillas lo único que escribimos en el terminal como en el siguiente ejemplo para el archivo de configuración samba:

$ su usuario2 -c 'gedit /etc/samba/smb.conf'

Como podéis comprobar el uso es bastante simple incluso para recordar y esto nos puede ser bastante útil a la hora de trabajar con scripts principalmente.

Votar Entrada: 
Average: 8.2 (6 votes)
Sigueme en google+: 

Añadir nuevo comentario