Script para cambio de user y ejecucion comando

Iniciado por Kithai, 25 Enero 2018, 16:35 PM

0 Miembros y 1 Visitante están viendo este tema.

Kithai

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!


MCKSys Argentina

Hola!

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

Creo que podrías usar:


su - postgres -c 'psql -d nombredb -f fichero.sql'


Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


engel lex

mi recomendacion


psql -U nombre_usuario nombredb -f fichero.sql

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Kithai

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!