GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo eliminar un usuario de Postgres (Drop User)

Introducción

La administración de una base de datos requiere la eliminación de cuentas de usuario, especialmente si ya no se necesita una cuenta de usuario. La eliminación de usuarios de Postgres innecesarios es una práctica esencial de seguridad de la base de datos. Esta acción también elimina un punto de acceso potencialmente imperceptible para los piratas informáticos.

Este tutorial explica cómo descartar un usuario de Postgres de varias maneras.

Requisitos previos

  • Acceso a la línea de comandos o terminal con privilegios sudo.
  • Postgres instalado, preferiblemente la última versión.
  • Usuarios de Postgres para descartar. Siga nuestro tutorial para crear usuarios de Postgres con fines de prueba.

Eliminar un usuario de Postgres

Un usuario en PostgreSQL tiene privilegios de inicio de sesión de forma predeterminada. Hay dos métodos para eliminar un usuario, y ambos requieren acceso a CREATEROLE derechos. Para eliminar un superusuario, el SUPERUSER el privilegio es obligatorio.

Los postgres El usuario creado durante la instalación tiene todos los privilegios necesarios de forma predeterminada. Los ejemplos a continuación usan postgres usuario para conectarse a PostgreSQL.

Método 1:eliminar un usuario de Postgres con la utilidad dropuser

Postgres ofrece una utilidad de cliente para eliminar un usuario sin conectarse a la interfaz de línea de comandos de PSQL.

Para eliminar un usuario en Postgres con dropuser , ejecute el siguiente comando en la terminal:

sudo -u postgres dropuser <user> -e

Alternativamente, divida el comando en dos pasos:

1. Cambie a postgres usuario (u otro usuario con los privilegios correctos):

sudo su - postgres

2. Ejecute el comando dropuser:

dropuser <name> -e

En ambos casos, Postgres elimina al usuario.

Método 2:eliminar un usuario de Postgres con declaración DROP USER

Otra forma de eliminar un usuario de una base de datos de Postgres es mediante una instrucción PSQL.

Para eliminar un usuario, siga los pasos a continuación:

1. Conéctese al cliente PSQL a través de la terminal con el siguiente comando:

sudo -u postgres psql

El terminal cambia a la consola PSQL (postgres=# ).

2. Enumere todos los usuarios y roles con:

\du

Localice al usuario para eliminarlo y use el nombre en el siguiente paso.

3. Ejecute la siguiente consulta para eliminar un usuario:

DROP USER <name>;

Alternativamente, para verificar si un usuario existe antes de eliminarlo, ingrese:

DROP USER IF EXISTS <name>;

El cliente notifica si el rol no existe.

4. Vuelva a mostrar la lista de usuarios para confirmar que el usuario se ha ido:

\du

El usuario ya no está en la lista de roles. Esta salida indica una eliminación exitosa.

Eliminar varios usuarios de Postgres

El cliente PSQL permite eliminar más de un usuario de Postgres a la vez. Las instrucciones a continuación explican cómo conectarse al cliente de PostgreSQL y eliminar varios usuarios.

1. Conéctese al cliente PSQL con:

sudo -u postgres psql

2. Enumere todos los usuarios con:

\du

Localice los usuarios para su eliminación y use los nombres en el siguiente paso.

3. Elimine varios usuarios de Postgres separando a los usuarios individuales con una coma:

DROP USER [IF EXISTS] <name>, <name>, ... <name>;

El comando elimina varios roles a la vez. Agregar IF EXISTS para omitir usuarios que no están disponibles.

4. Vuelva a comprobar la lista de usuarios para confirmar que se han eliminado todos los roles:

\du

Los usuarios eliminados ya no están en la lista.

Eliminar un usuario de Postgres con dependencias

Intentar eliminar un usuario de Postgres con dependencias falla y muestra un error.

Para eliminar al usuario de forma segura, haga lo siguiente:

1. Asigne la propiedad del objeto del detalle del error a otro usuario. Por ejemplo, para transferir los objetos propiedad de myuser a postgres , ejecuta:

REASSIGN OWNED BY myuser TO postgres;

La consulta cambia la propiedad del objeto a postgres usuario.

2. Elimine las conexiones del objeto de la base de datos al usuario con:

DROP OWNED BY myuser;

Este paso también elimina cualquier privilegio que el usuario tenga sobre el objeto.

3. Por el momento, el usuario ya no tiene dependencias. Para eliminar al usuario, ejecute:

DROP USER myuser;

Dado que no existen dependencias, la eliminación es exitosa.

Eliminar una función de Postgres

Para eliminar un rol de Postgres, ejecute el siguiente comando en el cliente PSQL:

DROP ROLE [IF EXISTS] <name>;

El DROP USER declaración es un alias para DROP ROLE . Los usuarios de Postgres son roles con LOGIN permisos Por lo tanto, tanto DROP USER y DROP ROLE son intercambiables y funcionan tanto para usuarios como para roles.


Ubuntu
  1. Cómo agregar y eliminar usuarios en Ubuntu, Debian y LinuxMint

  2. Cómo crear y eliminar un grupo de usuarios en Linux

  3. ¿Cómo eliminar los privilegios de raíz en los scripts de Shell?

  4. ¿Cómo cambiar el nombre de un usuario de forma segura?

  5. Cómo crear y eliminar usuarios en Ubuntu 16.04

Cómo agregar y eliminar usuarios en CentOS 8

Cómo agregar y eliminar usuarios en CentOS 7

Cómo agregar y eliminar usuarios en Debian 9

Cómo eliminar un directorio en Ubuntu 20.04

Cómo eliminar un archivo en Ubuntu

Cómo eliminar un usuario de base de datos MySQL en cPanel