No se puede volver a la raíz desde Postgres: obliga a ingresar la contraseña de Postgres que considera no válida

No se puede volver a la raíz desde Postgres: obliga a ingresar la contraseña de Postgres que considera no válida

Instalé postgres en Ubuntu y me cambió al usuario de postgres. Abrí, psqlcreé una base de datos y luego decidí volver a la raíz. Sin embargo, no me permite:

sudo su - 

resulta en que me pregunte

[sudo] password for postgres:

que intenté entrar sólo para obtener

Sorry, try again

Entonces decidí intentar cambiar la contraseña de Postgres usandoesta respuesta:

ALTER USER postgres WITH PASSWORD 'postgres';

Al parecer funcionó, pero después de intentar cambiar a root nuevamente, todavía no me deja.

Respuesta1

Parece que estás confundiendo dos cosas:

  • postgresel usuario del sistema
  • postgresel usuario de la base de datos SQL

La única relación entre ambos es que en la instalación de PostgreSQL, elbase de datosEl usuario postgresestá autenticado con elparmétodo de autentificación: el servidor de la base de datos comprueba quesistemaEl usuario que solicita acceso a la base de datos como usuario de la base de datos postgrestambién se llama postgres. Además, el servidor de la base de datos se ejecuta como usuario del sistema postgres.

No es posible desde la base de datos alterar el sistema. Dar una contraseña a la cuenta de la base de datos no alterará el hecho de que lasistemael usuario postgresno tienesudoderechos, y ciertamente una contraseña deshabilitada, permitiendo así que sólo root la use de forma predeterminada (pero no al revés).

Entonces, si desea convertirse en root, no puede hacerlo desde la postgrescuenta del sistema, y ​​eso es bueno: si alguna vez el servidor de la base de datos (sus procesos que también se ejecutan como usuario del sistema postgres) se ve comprometido, no habrá forma de escalar para rootacceder desde él.

Simplemente inicie sesión nuevamente en la cuenta que utilizó para instalar PostgreSQL: ya sea directamente la rootcuenta (generalmente no se hace en Ubuntu) o (generalmente se hace en Ubuntu) el usuario configurado en la instalación del sistema, con uid 1000, que en Ubuntu está permitido de forma predeterminada. hacer sudo su -.

Respuesta2

Si desea salir del usuario de postgres, simplemente escriba "salir".

Volverá al usuario root.

información relacionada