GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment supprimer un utilisateur Postgres (utilisateur Drop)

Présentation

L'administration d'une base de données nécessite la suppression de comptes d'utilisateurs, en particulier si un compte d'utilisateur n'est plus nécessaire. La suppression d'utilisateurs Postgres inutiles est une pratique essentielle de sécurité des bases de données. Cette action supprime également un point d'accès potentiellement invisible pour les pirates.

Ce didacticiel explique comment supprimer un utilisateur Postgres de plusieurs manières.

Prérequis

  • Accès à la ligne de commande ou au terminal avec les privilèges sudo.
  • Postgres installé, de préférence la dernière version.
  • Utilisateurs Postgres à supprimer. Suivez notre tutoriel pour créer des utilisateurs Postgres à des fins de test.

Supprimer un utilisateur Postgres

Un utilisateur dans PostgreSQL a des privilèges de connexion par défaut. Il existe deux méthodes pour supprimer un utilisateur, et les deux nécessitent l'accès au CREATEROLE droits. Pour supprimer un superutilisateur, le SUPERUSER le privilège est obligatoire.

Les postgres L'utilisateur créé lors de l'installation dispose par défaut de tous les privilèges nécessaires. Les exemples ci-dessous utilisent le postgres utilisateur pour se connecter à PostgreSQL.

Méthode 1 :supprimer un utilisateur Postgres avec l'utilitaire dropuser

Postgres propose un utilitaire client pour supprimer un utilisateur sans se connecter à l'interface de ligne de commande PSQL.

Pour supprimer un utilisateur dans Postgres avec dropuser , exécutez la commande suivante dans le terminal :

sudo -u postgres dropuser <user> -e

Vous pouvez également diviser la commande en deux étapes :

1. Basculez vers postgres utilisateur (ou un autre utilisateur avec les privilèges corrects) :

sudo su - postgres

2. Exécutez la commande dropuser :

dropuser <name> -e

Dans les deux cas, Postgres supprime l'utilisateur.

Méthode 2 :supprimer un utilisateur Postgres avec l'instruction DROP USER

Une autre façon de supprimer un utilisateur d'une base de données Postgres consiste à utiliser une instruction PSQL.

Pour supprimer un utilisateur, suivez les étapes ci-dessous :

1. Connectez-vous au client PSQL via le terminal avec la commande suivante :

sudo -u postgres psql

Le terminal passe à la console PSQL (postgres=# ).

2. Listez tous les utilisateurs et rôles avec :

\du

Localisez l'utilisateur à supprimer et utilisez le nom à l'étape suivante.

3. Exécutez la requête suivante pour supprimer un utilisateur :

DROP USER <name>;

Sinon, pour vérifier si un utilisateur existe avant de le supprimer, saisissez :

DROP USER IF EXISTS <name>;

Le client notifie si le rôle est inexistant.

4. Affichez à nouveau la liste des utilisateurs pour confirmer que l'utilisateur est parti :

\du

L'utilisateur ne figure plus dans la liste des rôles. Cette sortie indique une suppression réussie.

Supprimer plusieurs utilisateurs Postgres

Le client PSQL permet de supprimer plusieurs utilisateurs Postgres à la fois. Les instructions ci-dessous expliquent comment se connecter au client PostgreSQL et supprimer plusieurs utilisateurs.

1. Connectez-vous au client PSQL avec :

sudo -u postgres psql

2. Listez tous les utilisateurs avec :

\du

Localisez les utilisateurs à supprimer et utilisez les noms à l'étape suivante.

3. Supprimez plusieurs utilisateurs Postgres en séparant les utilisateurs individuels par une virgule :

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

La commande supprime plusieurs rôles à la fois. Ajouter IF EXISTS pour ignorer les utilisateurs qui ne sont pas disponibles.

4. Revérifiez la liste des utilisateurs pour confirmer que tous les rôles sont supprimés :

\du

Les utilisateurs supprimés ne figurent plus dans la liste.

Supprimer un utilisateur Postgres avec des dépendances

La tentative de suppression d'un utilisateur Postgres avec des dépendances échoue et affiche une erreur.

Pour supprimer l'utilisateur en toute sécurité, procédez comme suit :

1. Attribuez la propriété de l'objet du détail de l'erreur à un autre utilisateur. Par exemple, pour transférer les objets appartenant à monutilisateur à postgres , exécutez :

REASSIGN OWNED BY myuser TO postgres;

La requête change la propriété de l'objet en postgres utilisateur.

2. Supprimez les connexions d'objet de base de données à l'utilisateur avec :

DROP OWNED BY myuser;

Cette étape supprime également tous les privilèges dont dispose l'utilisateur sur l'objet.

3. Pour le moment, l'utilisateur n'a plus de dépendances. Pour supprimer l'utilisateur, exécutez :

DROP USER myuser;

Comme aucune dépendance n'existe, la suppression est réussie.

Supprimer un rôle Postgres

Pour supprimer un rôle Postgres, exécutez la commande suivante dans le client PSQL :

DROP ROLE [IF EXISTS] <name>;

Le DROP USER instruction est un alias pour DROP ROLE . Les utilisateurs Postgres sont des rôles avec LOGIN autorisations. Par conséquent, DROP USER et DROP ROLE sont interchangeables et fonctionnent à la fois pour les utilisateurs et les rôles.


Ubuntu
  1. Comment ajouter et supprimer un utilisateur dans Ubuntu, Debian et LinuxMint

  2. Comment créer et supprimer un groupe d'utilisateurs sous Linux

  3. Comment supprimer les privilèges root dans les scripts Shell ?

  4. Comment renommer un utilisateur en toute sécurité ?

  5. Comment créer et supprimer un utilisateur sur Ubuntu 16.04

Comment ajouter et supprimer des utilisateurs sur CentOS 8

Comment ajouter et supprimer des utilisateurs sur CentOS 7

Comment ajouter et supprimer des utilisateurs sur Debian 9

Comment supprimer un répertoire dans Ubuntu 20.04

Comment supprimer un fichier dans Ubuntu

Comment supprimer un utilisateur de base de données MySQL dans cPanel