View this PageEdit this PageUploads to this PageVersions of this PageHomeRecent ChangesSearchHelp Guide

Hacer que el psql del postgres siempre pida password para entrar en una BBDD

(esto se ha hecho en servtce1)

Primero se tienen varios usuarios. Se puede hacer añadiendo usuarios desde línea de comandos (es lo que hemos hecho), o añadiendo schemas para que sólo pueda acceder a una tabla (sin probar).

Después se modifica el pg_hba.conf
 find /etc -name pg_hba.conf

En servtce1 está en
 /etc/postgresql/13/main/pg_hba.conf

En servtce1, como root:
1. Se edita el pg_hba.conf

 vi /etc/postgresql/13/main/pg_hba.conf

2. Se busca la línea de
 local   all             postgres                                peer

3. Se añaden debajo otras dos líneas que digan
local   captura             metro                                peer
local   captura             all                                md5

(la primera hace que el usuario metro siga sin tener password, y la segunda que a todos los demás usuarios se les pida el password)

4. Se salva y se sale del vi (":wq")

5. Se reinicia el postgres
 /etc/init.d/postgresql restart


NOTA: Hemos generado un usuario admintce (con "adduser admintce") en servtce1, y desde el pgadmin se ha generado el mismo usuario en la BBDD. Se ha comprobado que ahora desde dicho usuario, al hacer un "psql captura admintce" te pide clave.
NOTA2: Para que el usuario admintce pudiera acceder al schema admintce, se ha hecho lo siguiente:
GRANT ALL PRIVILEGES ON SCHEMA admintce TO "admintce";
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA admintce TO "admintce";
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA admintce TO "admintce";

Y luego se ha probado con:
metro@servtce1:~$ psql captura admintce
Password for user admintce:
psql (13.5 (Debian 13.5-0+deb11u1))
Type "help" for help.
captura=> select * from admintce.usuarios_informestce_web;