Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Kithai en 25 Enero 2018, 16:35 pm



Título: Script para cambio de user y ejecucion comando
Publicado por: Kithai en 25 Enero 2018, 16:35 pm
Buenas a todos!

Hoy vengo con una duda (considero) bastante estupida. Os cuento

Estoy como root. Tengo un archivo .sql que quiero ejecutarlo median psql pero como otro usuario. Es decir, quiero que el script cambie de usuario (sin contraseña), ejecute el comando y vuelva a logearse como root pidiendo la contraseña. Esto es lo que tengo


#!/bin/bash

su - postgres

psql -d nombredb -f fichero.sql

su - root

Pero lo unico que hace es que se loguea como "postgres" y se queda en esa shell, no ejecuta el comando psql

Se que es una tonteria lo que se me escapa, agradezco cualquier tipo de ayuda

Gracias y un saludo!



Título: Re: Script para cambio de user y ejecucion comando
Publicado por: MCKSys Argentina en 25 Enero 2018, 17:25 pm
Hola!

No soy usuario de linux, pero encontré ésto: https://www.cyberciti.biz/open-source/command-line-hacks/linux-run-command-as-different-user/ (https://www.cyberciti.biz/open-source/command-line-hacks/linux-run-command-as-different-user/)

Creo que podrías usar:

Código:
su - postgres -c 'psql -d nombredb -f fichero.sql'

Saludos!


Título: Re: Script para cambio de user y ejecucion comando
Publicado por: engel lex en 25 Enero 2018, 17:27 pm
mi recomendacion


Código:
psql -U nombre_usuario nombredb -f fichero.sql



Título: Re: Script para cambio de user y ejecucion comando
Publicado por: Kithai en 26 Enero 2018, 08:17 am
Hola!

Gracias a los dos por responder. La solucion que me propone engel lex ya la probé y salta un error de autentificacion Peer, que para solucionarlo tengo que tocar algunos archivos de conf a los que de momento no tengo autorizacion de acceso, gracias de todas formas!

La solucion de MCKSys a rulado perfectamente, tema solucionado y un millon de gracias!

Saludos!