GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menghapus Pengguna Postgres (Pengguna Drop)

Pendahuluan

Mengelola database memerlukan penghapusan akun pengguna, terutama jika akun pengguna tidak lagi diperlukan. Menghapus pengguna Postgres yang tidak perlu adalah praktik keamanan database yang penting. Tindakan ini juga menghapus titik akses yang berpotensi tidak terlihat oleh peretas.

Tutorial ini menjelaskan cara menghapus pengguna Postgres dalam berbagai cara.

Prasyarat

  • Akses ke baris perintah atau terminal dengan hak istimewa sudo.
  • Postgres diinstal, sebaiknya versi terbaru.
  • Pengguna postgres untuk dijatuhkan. Ikuti tutorial kami untuk membuat pengguna Postgres untuk tujuan pengujian.

Menghapus Pengguna Postgres

Seorang pengguna di PostgreSQL memiliki hak login secara default. Ada dua metode untuk menghapus pengguna, dan keduanya memerlukan akses ke CREATEROLE hak. Untuk menjatuhkan superuser, SUPERUSER keistimewaan adalah wajib.

postgres pengguna yang dibuat selama instalasi memiliki semua hak istimewa yang diperlukan secara default. Contoh di bawah ini menggunakan postgres pengguna untuk terhubung ke PostgreSQL.

Metode 1:Menghapus Pengguna Postgres Dengan Utilitas dropuser

Postgres menawarkan utilitas klien untuk menghapus pengguna tanpa menghubungkan ke antarmuka baris perintah PSQL.

Untuk menghapus pengguna di Postgres dengan dropuser , jalankan perintah berikut di terminal:

sudo -u postgres dropuser <user> -e

Atau, bagi perintah menjadi dua langkah:

1. Beralih ke postgres pengguna (atau pengguna lain dengan hak istimewa yang benar):

sudo su - postgres

2. Jalankan perintah dropuser:

dropuser <name> -e

Dalam kedua kasus, Postgres menghapus pengguna.

Metode 2:Menghapus Pengguna Postgres Dengan Pernyataan DROP USER

Cara lain untuk menghapus pengguna dari database Postgres adalah menggunakan pernyataan PSQL.

Untuk menghapus pengguna, ikuti langkah-langkah di bawah ini:

1. Hubungkan ke klien PSQL melalui terminal dengan perintah berikut:

sudo -u postgres psql

Terminal berubah menjadi konsol PSQL (postgres=# ).

2. Buat daftar semua pengguna dan peran dengan:

\du

Temukan pengguna yang akan dihapus dan gunakan nama tersebut pada langkah berikut.

3. Jalankan kueri berikut untuk menghapus pengguna:

DROP USER <name>;

Atau, untuk memeriksa apakah ada pengguna sebelum berhenti, masukkan:

DROP USER IF EXISTS <name>;

Klien memberi tahu jika perannya tidak ada.

4. Tampilkan lagi daftar pengguna untuk mengonfirmasi bahwa pengguna telah tiada:

\du

Pengguna tidak lagi ada dalam daftar peran. Output ini menunjukkan penghapusan yang berhasil.

Hapus Beberapa Pengguna Postgres

Klien PSQL memungkinkan menghapus lebih dari satu pengguna Postgres sekaligus. Petunjuk di bawah ini menjelaskan cara menghubungkan ke klien PostgreSQL dan menghapus banyak pengguna.

1. Hubungkan ke klien PSQL dengan:

sudo -u postgres psql

2. Daftar semua pengguna dengan:

\du

Temukan pengguna yang akan dihapus dan gunakan nama pada langkah berikut.

3. Hapus beberapa pengguna Postgres dengan memisahkan pengguna individu dengan koma:

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

Perintah menghapus beberapa peran sekaligus. Tambahkan IF EXISTS untuk melewati pengguna yang tidak tersedia.

4. Periksa kembali daftar pengguna untuk memastikan semua peran telah dihapus:

\du

Pengguna yang dihapus tidak lagi ada dalam daftar.

Menghapus Pengguna Postgres dengan Ketergantungan

Mencoba menghapus pengguna Postgres dengan dependensi gagal dan menunjukkan kesalahan.

Untuk menghapus pengguna dengan aman, lakukan hal berikut:

1. Tetapkan kepemilikan objek dari detail kesalahan ke pengguna lain. Misalnya, untuk mentransfer objek yang dimiliki oleh pengguna saya ke postgres , jalankan:

REASSIGN OWNED BY myuser TO postgres;

Kueri mengubah kepemilikan objek menjadi postgres pengguna.

2. Hapus koneksi objek database ke pengguna dengan:

DROP OWNED BY myuser;

Langkah ini juga menghapus semua hak istimewa yang dimiliki pengguna atas objek tersebut.

3. Saat ini, pengguna tidak lagi memiliki ketergantungan. Untuk menjatuhkan pengguna, jalankan:

DROP USER myuser;

Karena tidak ada ketergantungan, penghapusan berhasil.

Menghapus Peran Postgres

Untuk menghapus peran Postgres, jalankan perintah berikut di klien PSQL:

DROP ROLE [IF EXISTS] <name>;

DROP USER pernyataan adalah alias untuk DROP ROLE . Pengguna Postgres adalah peran dengan LOGIN izin. Oleh karena itu, keduanya DROP USER dan DROP ROLE dapat dipertukarkan dan berfungsi untuk pengguna dan peran.


Ubuntu
  1. Cara Beralih (su) ke Akun Pengguna Lain tanpa Kata Sandi

  2. Cara membuat dan menghapus grup pengguna di Linux

  3. Bagaimana Cara Mengganti Nama Pengguna dengan Aman?

  1. Cara Menambah dan Menghapus Pengguna di Ubuntu, Debian &LinuxMint

  2. Cara Membuat dan Menghapus Pengguna di Ubuntu 16.04

  3. Cara Membuat dan Menghapus Pengguna di Debian 9

  1. Cara Membuat Pengguna Postgres

  2. Bagaimana Cara Menjatuhkan Hak Istimewa Root Dalam Skrip Shell?

  3. Cara menambah atau menghapus pengguna samba di Linux