Ejecutar comandos como otro Usuario en Linux


Hay situaciones en la que necesitamos ejecutar un comando como si fuésemos otro usuario.


En esta entrada explicamos como llegar a ejecutar comandos desde un usuario como si fuésemos otro usuarios, esto lo haremos sin necesidad de cambiar de usuario.


Deberemos tener en cuenta que si un usuario no tiene ciertos permisos sobre el uso de ciertos comandos se verá denegado, para ello siempre podemos hacerlo como administrador.


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.

Utilizar comandos en linux como otro usuario

Utilizar comandos en linux como otro usuario

Sintaxis para usar comandos 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á.


La estructura del comando sería la siguiente:

su usuario -c ‘comandos’


Donde reemplazaremos “usuario” por el usuario que ejecutará el comando o la serie de comandos y los “comandos” por la orden que vamos a darle.

Terminal Linux terminator

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 o los comandos 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.

Comandos Linux

Raúl Caro Pastorino

Informático, técnico en sistemas, redes, baja tensión (electricidad) y desarrollador de aplicaciones WEB. Soy un apasionado por GNU/LINUX y el software libre en general desde prácticamente el año 2001-2003 que comencé. Intento usar y trabajar siempre con código libre o abierto de forma profesional. Me apasiona la programación, la micro-electrónica, el diseño gráfico y edición multimedia. Fan de Raspberry y arduino. Programo en bash, python, php y javascript principalmente. Repositorios de código con git: https://gitlab.com/fryntiz https://github.com/fryntiz

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.