GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come eliminare un utente Postgres (utente Drop)

Introduzione

L'amministrazione di un database richiede la rimozione degli account utente, soprattutto se un account utente non è più necessario. L'eliminazione di utenti Postgres non necessari è una pratica essenziale per la sicurezza del database. Questa azione rimuove anche un punto di accesso potenzialmente impercettibile per gli hacker.

Questo tutorial spiega come eliminare un utente Postgres in diversi modi.

Prerequisiti

  • Accesso alla riga di comando o al terminale con privilegi sudo.
  • Postgres installato, preferibilmente l'ultima versione.
  • Utenti Postgres da abbandonare. Segui il nostro tutorial per creare utenti Postgres a scopo di test.

Elimina un utente Postgres

Un utente in PostgreSQL ha i privilegi di accesso per impostazione predefinita. Esistono due metodi per rimuovere un utente ed entrambi richiedono l'accesso a CREATEROLE diritti. Per eliminare un superutente, il SUPERUSER il privilegio è obbligatorio.

I postgres l'utente creato durante l'installazione dispone di tutti i privilegi necessari per impostazione predefinita. Gli esempi seguenti utilizzano postgres utente per connettersi a PostgreSQL.

Metodo 1:eliminare un utente Postgres con l'utility dropuser

Postgres offre un'utilità client per rimuovere un utente senza connettersi all'interfaccia della riga di comando di PSQL.

Per eliminare un utente in Postgres con dropuser , esegui il seguente comando nel terminale:

sudo -u postgres dropuser <user> -e

In alternativa, suddividi il comando in due passaggi:

1. Passa a postgres utente (o un altro utente con i privilegi corretti):

sudo su - postgres

2. Esegui il comando dropuser:

dropuser <name> -e

In entrambi i casi, Postgres rimuove l'utente.

Metodo 2:eliminare un utente Postgres con la dichiarazione DROP USER

Un altro modo per eliminare un utente da un database Postgres è utilizzare un'istruzione PSQL.

Per eliminare un utente, procedi nel seguente modo:

1. Collegarsi al client PSQL tramite terminale con il seguente comando:

sudo -u postgres psql

Il terminale passa alla console PSQL (postgres=# ).

2. Elenca tutti gli utenti e i ruoli con:

\du

Individua l'utente da rimuovere e utilizza il nome nel passaggio successivo.

3. Eseguire la query seguente per eliminare un utente:

DROP USER <name>;

In alternativa, per verificare se esiste un utente prima di eliminarlo, inserisci:

DROP USER IF EXISTS <name>;

Il client notifica se il ruolo è inesistente.

4. Visualizza di nuovo l'elenco degli utenti per confermare che l'utente è andato:

\du

L'utente non è più nell'elenco dei ruoli. Questo output indica un'eliminazione riuscita.

Elimina più utenti Postgres

Il client PSQL consente di eliminare più di un utente Postgres contemporaneamente. Le istruzioni seguenti spiegano come connettersi al client PostgreSQL ed eliminare più utenti.

1. Connettiti al client PSQL con:

sudo -u postgres psql

2. Elenca tutti gli utenti con:

\du

Individua gli utenti da eliminare e utilizza i nomi nel passaggio successivo.

3. Elimina più utenti Postgres separando i singoli utenti con una virgola:

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

Il comando rimuove più ruoli contemporaneamente. Aggiungi IF EXISTS per saltare gli utenti che non sono disponibili.

4. Ricontrolla l'elenco utenti per confermare che tutti i ruoli sono stati eliminati:

\du

Gli utenti rimossi non sono più nell'elenco.

Elimina un utente Postgres con dipendenze

Il tentativo di rimuovere un utente Postgres con dipendenze non riesce e mostra un errore.

Per rimuovere in sicurezza l'utente, procedi come segue:

1. Assegnare la proprietà dell'oggetto dai dettagli dell'errore a un altro utente. Ad esempio, per trasferire gli oggetti di proprietà di mioutente a postgres , esegui:

REASSIGN OWNED BY myuser TO postgres;

La query cambia la proprietà dell'oggetto in postgres utente.

2. Rimuovere le connessioni dell'oggetto database all'utente con:

DROP OWNED BY myuser;

Questo passaggio rimuove anche tutti i privilegi che l'utente ha sull'oggetto.

3. Al momento, l'utente non ha più dipendenze. Per eliminare l'utente, esegui:

DROP USER myuser;

Poiché non esistono dipendenze, la rimozione ha esito positivo.

Elimina un ruolo Postgres

Per eliminare un ruolo Postgres, esegui il seguente comando nel client PSQL:

DROP ROLE [IF EXISTS] <name>;

Il DROP USER statement è un alias per DROP ROLE . Gli utenti di Postgres sono ruoli con LOGIN permessi. Pertanto, entrambi DROP USER e DROP ROLE sono intercambiabili e funzionano sia per utenti che per ruoli.


Ubuntu
  1. Come aggiungere ed eliminare utenti in Ubuntu, Debian e LinuxMint

  2. Come creare ed eliminare un gruppo di utenti in Linux

  3. Come eliminare i privilegi di root negli script della shell?

  4. Come rinominare un utente in modo sicuro?

  5. Come creare ed eliminare utenti su Ubuntu 16.04

Come aggiungere ed eliminare utenti su CentOS 8

Come aggiungere ed eliminare utenti su CentOS 7

Come aggiungere ed eliminare utenti su Debian 9

Come eliminare una directory in Ubuntu 20.04

Come eliminare un file in Ubuntu

Come eliminare un utente del database MySQL in cPanel