sql - usuarios - postgres: actualizar un usuario para ser un superusuario?
usuarios y roles en postgresql (6)
En postgres, ¿cómo cambio un usuario existente para que sea un superusuario? No quiero borrar el usuario existente, por varias razones.
# alter user myuser ...?
$ su - postgres
$ psql
$ /du;
para ver el usuario en db
Seleccione el usuario que desea ser superusuario y:
$ ALTER USER "user" with superuser;
Ejecutar este comando
alter user myuser with superuser;
Si desea ver el permiso para un usuario ejecute el siguiente comando
/du
Para ampliar lo anterior y hacer una referencia rápida:
- Para hacer que un usuario sea un superusuario:
ALTER USER username WITH SUPERUSER;
- Para hacer que un usuario ya no sea un superusuario:
ALTER USER username WITH NOSUPERUSER;
- Para permitir que el usuario cree una base de datos:
ALTER USER username CREATEDB;
También puede usar CREATEROLE
y CREATEUSER
para permitirle privilegios a un usuario sin convertirlos en un superusuario.
Puede que a veces actualizar a un superusuario no sea una buena opción. Así que, aparte del superusuario, hay muchas otras opciones que puedes usar. Abre tu terminal y escribe lo siguiente:
$ sudo su - postgres
[sudo] password for user: (type your password here)
$ psql
postgres@user:~$ psql
psql (10.5 (Ubuntu 10.5-1.pgdg18.04+1))
Type "help" for help.
postgres=# ALTER USER my_user WITH option
También listando la lista de opciones.
SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE |
CREATEUSER | NOCREATEUSER | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION|
NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit |
[ ENCRYPTED | UNENCRYPTED ] PASSWORD ''password'' | VALID UNTIL ''timestamp''
Así que en la línea de comandos se verá como
postgres=# ALTER USER my_user WITH LOGIN
O use una contraseña encriptada.
postgres=# ALTER USER my_user WITH ENCRYPTED PASSWORD ''5d41402abc4b2a76b9719d911017c592'';
O revocar los permisos después de un tiempo específico.
postgres=# ALTER USER my_user WITH VALID UNTIL ''2019-12-29 19:09:00'';
alterar usuario usuario superusuario;
ALTER USER myuser WITH SUPERUSER;