Ejecutar comando como otro usuario Linux
AUTOR PREGUNTA #1
Hola a todos.
Necesito saber si es posible ejecutar un comando en Linux pero como si fuese otro usuario el que lo esté haciendo sin tener que logarme desde otra cuenta, es posible? gracias
-
8 personas más tuvieron esta duda Yo también
Esto también te interesa!
PREGUNTAS SIMILARES
#2
Puedes usar el comando su para cambiarte de usuario y usar otro comando como si fueses un usuario diferente.
su + nombre + -c - comando
#3
Este truco es útil cuando estamos gestionando tareas o procesos dentro de Linux y necesitamos lanzar comandos como si fuésemos otro usuario. Esto no quiere decir que suplantamos a otros usuarios del equipo sino que únicamente necesitamos como administradores ejecutar algo por ellos. Ejecutar un comando como si fuese otro usuario se suele usar, por ejemplo, en creación de scripts. Te dejo una lista de comandos bastante útiles para Linux y así los tengas a mano.
Evita dejar servicios arrancados con un usuario root ya que lo estás exponiendo a posibles ataques, más grave aun si son servicios que recurren normalmente al uso de la red.
Los pasos que debes realizar para ejecutar un comando como otro usuario en Linux son los siguientes
- Sabemos que para cambiar de usuario usaremos el comando:
Su -usuario
- Pero el problema viene cuando si no somos administradores o root necesitaremos la contraseña para acceder. Para poder ejecutar un comando como otro usuario sin necesidad ed ser root pondremos lo siguiente. La combinación que deberías de seguir es la siguiente:
su usuarionombre -c comandoejecutar
Usando estos sencillos pasos ya habrías ejecutado un comando como otro usuario.
Otra de las opciones que tendrías es utilizar el comando runuser para ejecutar un Shell con un ID de usuario diferentes y se utiliza sobre todo cuando lo ejecutamos como root ya que sino el comando fallará.
Runuser -l nombredeusuario -c “comando”
#4
Ciertamente puedes ejecutar comandos en Linux como otro usuario, aunque para ello primeramente debes modificarlo en el software de tu computadora en sí.
Para lograrlo, tienes que utilizar una descripción con la ejecución “Su”, es decir, que cuando te establezcas en Linux tienes que colocar “Su-nombre de usuario” y el sistema lo detectara como una modificación en el suscriptor del mismo.
Sin embargo, si tu software es root, entonces tienes que conocer la contraseña del usuario a la que cambiaras, ya que de por si el sistema te lo solicitara al momento en que lo hagas.
Una vez que hayas hecho eso, debes proceder a escribir la descripción “-c” y acto seguido coloca cual es el comando que deseas ejecutar, y listo el mismo procederá a establecerse en el sistema indicando su suscripción del nuevo usuario.
A pesar de ello, puede que el sistema al comienzo te muestre un error de lectura, es decir, que los comandos no se te ejecutan a pesar de que le indicaste el cambio de cuenta, en dichos casos normalmente es por un error en la vinculación del usuario.
En dichos casos puede deberse a que el usuario nuevo tiene permisos excluyentes de Linux o que de forma generalizada está mal escrito, por lo tanto solo revisa o comprueba estos dos aspectos y veras que podrás ejecutar tus comandos con otra descripción en el sistema de tu PC.
#5
Pues en teoría si se puede ejecutar comandos como si se tratase de otro usuario, claro que va a tener ciertas dificultades como el tipo de cuenta en la que estas ingresando el comando (recuerda que solo los "Root" pueden ingresar ciertos comandos así como realizar varias operaciones) y también esta la eventualidad de si la cuenta de usuario que se desea utilizar posee una clave.
En el caso de que la cuenta que estemos usando sea de tipo "Root", se pueden ingresar un comando llamado "Runuser", el cual permite ejecutar el Shell con la identificación de otro usuario.
Vale la pena recordar que se debe tener permisos de "Root" para ejecutar este comando porque de lo contrario solo generara errores.
- El código o ruta a usar es: Runuser –I (aquí va el nombre del usuario sin el paréntesis) –c (y aquí se coloca el comando a ejecutar).
Ahora si no se poseen los permisos de "Root", simplemente debes recurrir a otro comando que se puede ejecutar independientemente del tipo de cuenta que se posea (o de la cual se remita). Este comando es "Su" y se utiliza así:
- Su (Aquí el nombre de la cuenta que se desea usar para ingresar el código) –c (y aquí el comando a ingresar).