GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak smazat uživatele Postgres (vypustit uživatele)

Úvod

Správa databáze vyžaduje odstranění uživatelských účtů, zejména pokud uživatelský účet již není potřeba. Smazání nepotřebných uživatelů Postgresu je základním postupem zabezpečení databáze. Tato akce také odstraní potenciálně nepostřehnutelný přístupový bod pro hackery.

Tento tutoriál vysvětluje, jak několika způsoby vypustit uživatele Postgres.

Předpoklady

  • Přístup k příkazovému řádku nebo terminálu s právy sudo.
  • Nainstalován Postgres, nejlépe nejnovější verze.
  • Opustit uživatele Postgres. Postupujte podle našeho návodu a vytvořte uživatele Postgres pro účely testování.

Smazat uživatele Postgres

Uživatel v PostgreSQL má ve výchozím nastavení přihlašovací práva. Existují dva způsoby odebrání uživatele a oba vyžadují přístup k CREATEROLE práv. Chcete-li odstranit superuživatele, SUPERUSER privilegium je povinné.

postgres uživatel vytvořený během instalace má ve výchozím nastavení všechna potřebná oprávnění. Níže uvedené příklady používají postgres uživatele pro připojení k PostgreSQL.

Metoda 1:Odstranění uživatele Postgres pomocí nástroje dropuser

Postgres nabízí klientský nástroj pro odebrání uživatele bez připojení k rozhraní příkazového řádku PSQL.

Smazání uživatele v Postgres pomocí dropuser , spusťte v terminálu následující příkaz:

sudo -u postgres dropuser <user> -e

Případně rozdělte příkaz do dvou kroků:

1. Přepněte na postgres uživatel (nebo jiný uživatel se správnými oprávněními):

sudo su - postgres

2. Spusťte příkaz dropuser:

dropuser <name> -e

V obou případech Postgres odebere uživatele.

Metoda 2:Odstranění uživatele Postgres pomocí příkazu DROP USER

Dalším způsobem, jak odstranit uživatele z databáze Postgres, je použití příkazu PSQL.

Chcete-li odstranit uživatele, postupujte podle následujících kroků:

1. Připojte se ke klientovi PSQL přes terminál pomocí následujícího příkazu:

sudo -u postgres psql

Terminál se změní na konzolu PSQL (postgres=# ).

2. Seznam všech uživatelů a rolí s:

\du

Vyhledejte uživatele, kterého chcete odebrat, a použijte jeho jméno v následujícím kroku.

3. Chcete-li uživatele odstranit, spusťte následující dotaz:

DROP USER <name>;

Alternativně, chcete-li zkontrolovat, zda uživatel před přetažením existuje, zadejte:

DROP USER IF EXISTS <name>;

Klient upozorní, pokud role neexistuje.

4. Znovu zobrazte seznam uživatelů, abyste potvrdili, že uživatel je pryč:

\du

Uživatel již není na seznamu rolí. Tento výstup indikuje úspěšné smazání.

Smazat více uživatelů Postgres

Klient PSQL umožňuje smazat více než jednoho uživatele Postgres najednou. Níže uvedené pokyny vysvětlují, jak se připojit ke klientovi PostgreSQL a odstranit více uživatelů.

1. Připojte se ke klientovi PSQL pomocí:

sudo -u postgres psql

2. Seznam všech uživatelů s:

\du

Vyhledejte uživatele k odstranění a použijte jejich jména v následujícím kroku.

3. Odstraňte více uživatelů Postgres tak, že jednotlivé uživatele oddělíte čárkou:

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

Příkaz odebere více rolí najednou. Přidejte IF EXISTS přeskočit uživatele, kteří nejsou k dispozici.

4. Znovu zkontrolujte seznam uživatelů a potvrďte, že všechny role byly odstraněny:

\du

Odebraní uživatelé již nejsou na seznamu.

Smazat uživatele Postgres se závislostmi

Pokus o odebrání uživatele Postgres se závislostmi selže a zobrazí chybu.

Chcete-li uživatele bezpečně odebrat, proveďte následující:

1. Přiřaďte vlastnictví objektu z podrobností o chybě jinému uživateli. Například k převodu objektů vlastněných myuser do postgres , spustit:

REASSIGN OWNED BY myuser TO postgres;

Dotaz změní vlastnictví objektu na postgres uživatel.

2. Odeberte připojení databázového objektu k uživateli pomocí:

DROP OWNED BY myuser;

Tento krok také odebere všechna oprávnění, která má uživatel k objektu.

3. V tuto chvíli již uživatel nemá žádné závislosti. Chcete-li uživatele zahodit, spusťte:

DROP USER myuser;

Protože neexistují žádné závislosti, odstranění je úspěšné.

Smazat roli Postgres

Chcete-li odstranit roli Postgres, spusťte v klientovi PSQL následující příkaz:

DROP ROLE [IF EXISTS] <name>;

DROP USER příkaz je alias pro DROP ROLE . Uživatelé Postgres jsou role s LOGIN oprávnění. Proto oba DROP USER a DROP ROLE jsou zaměnitelné a fungují jak pro uživatele, tak pro role.


Ubuntu
  1. Jak přidat a odstranit uživatele v Ubuntu, Debianu a LinuxMintu

  2. Jak vytvořit a odstranit uživatelskou skupinu v Linuxu

  3. Jak zrušit kořenová oprávnění ve skriptech Shell?

  1. Jak bezpečně přejmenovat uživatele?

  2. Jak vytvořit a odstranit uživatele na Ubuntu 16.04

  3. Jak vytvořit a smazat uživatele v Debianu 9

  1. Jak vytvořit uživatele Postgres

  2. Jak přepnout (su) na jiný uživatelský účet bez hesla

  3. Jak přidat nebo odstranit uživatele samby pod Linuxem