GNU/Linux >> Belajar Linux >  >> Linux

Buat dan lepaskan peran di PostgreSQL

Untuk menguji server database produksi, Anda harus membuat peran tambahan karena secara teratur bekerja di database Anda sebagai peran pengguna super default berisiko.

Artikel ini menunjukkan cara membuat peran tambahan dengan PostgreSQL®dengan menggunakan psql perintah klien atau perintah shell. Anda perlu menggunakan pengguna Linux®, postgres ®, dengan kedua metode.

Masuk ke instance Anda dengan kredensial Linux Anda dan jalankan perintah berikut untuk mengalihkan pengguna ke postgres pengguna:

# sudo su - postgres

Gunakan perintah psql

Gunakan langkah-langkah berikut untuk membuat atau menghapus pengguna dengan menggunakan psql klien.

Hubungkan dengan psql

Hubungkan ke server database dengan menggunakan thepsqlclient dengan postgres peran:

postgres@demo:~$ psql -U postgres
...
Welcome to psql 8.3.6, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

postgres=#

Buat peran

Setelah Anda terhubung dengan psql klien, jalankan perintah berikut untuk membuat peran yang memiliki LOGIN atribut dan kata sandi terenkripsi MD5 yang tidak kosong:

postgres=#CREATE ROLE demorole1 WITH LOGIN ENCRYPTED PASSWORD 'password1';

Catatan :Tanda titik koma (; ) di akhir pernyataan SQL diperlukan. Tanda kutip tunggal ( ' ' ) bukan bagian dari kata sandi tetapi harus dilampirkan.

Validasi bahwa Anda berhasil membuat peran dengan menggunakan perintah berikut:

postgres=# \du
                               List of roles
 Role name | Superuser | Create role | Create DB | Connections | Member of
-----------+-----------+-------------+-----------+-------------+-----------
 demorole1 | no        | no          | no        | no limit    | {}
 postgres  | yes       | yes         | yes       | no limit    | {}
(2 rows)

Lepaskan peran

Saat Anda tidak lagi membutuhkan peran, Anda dapat melepaskan (menghapus atau menghapus) peran dengan menggunakan perintah berikut:

postgres=# DROP ROLE demorole1;

Jika Anda kemudian memeriksa dengan \du perintah, Anda dapat melihat bahwa demorole1 tidak terdaftar lagi.

Buat pengguna super

Terkadang, Anda mungkin perlu membuat peran pengguna super tambahan, seperti saat Anda memiliki programmer database yang Anda percayai untuk mengelola server postgres.

Untuk membuat superuser, jalankan perintah berikut:

postgres=#CREATE ROLE mysuperuser2 WITH SUPERUSER CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'mysuperpass2';

Perintah mengatur LOGIN atribut dan menentukan kata sandi yang tidak kosong. Faktor-faktor ini penting jika Anda menginginkan peran pengguna super ini untuk koneksi lokal dan jarak jauh ke database.

Keluar dari psql

Untuk keluar dari psql , jalankan perintah berikut:

postgres=# \q
...
postgres@demo:~$

Gunakan perintah shell

Anda dapat membuat dan melepaskan peran database dengan menggunakan perintah createuseranddropusershell, yang merupakan pembungkus untuk pernyataan CREATE dan DROPSQL. Instalasi postgres standar menyertakan perintah ini.

buat pengguna

Jalankan perintah berikut untuk membuat peran non-pengguna super yang memiliki LOGIN atribut:

postgres@demo:~$ createuser -PE demorole2

Enter password for new role:
Enter it again:
...
postgres@demo:~$

-P flag meminta Anda untuk menyetel kata sandi untuk peran baru, dan -E flag menunjukkan untuk menyimpan sandi sebagai string terenkripsi MD5.

Untuk memverifikasi pembuatan peran, sambungkan ke psql dan jalankan perintah berikut:

postgres=# \du
                               List of roles
 Role name | Superuser | Create role | Create DB | Connections | Member of
-----------+-----------+-------------+-----------+-------------+-----------
 demorole2 | no        | no          | no        | no limit    | {}
 postgres  | yes       | yes         | yes       | no limit    | {}
(2 rows)

dropuser

Jalankan perintah berikut untuk melepaskan peran:

postgres@demo:~$ dropuser -i demorole2
...
Role "demorole2" will be permanently removed.
Are you sure? (y/n) y
...
postgres@demo:~$

-i flag memberikan konfirmasi konfirmasi, yang merupakan tindakan keamanan yang baik saat Anda menjalankan perintah yang berpotensi merusak.

Buat pengguna super

Terkadang, Anda mungkin perlu membuat peran pengguna super tambahan, seperti saat Anda memiliki programmer database yang Anda percayai untuk mengelola server postgres.

Untuk membuat superuser, jalankan perintah berikut:

postgres@demo:~$ createuser -sPE mysuperuser

Linux
  1. Menginstal PostgreSQL Dan phpPgAdmin Di CentOS

  2. Cara Mencadangkan dan Memulihkan Basis Data di PostgreSQL

  3. Buat dan lepaskan peran di PostgreSQL

  1. Cara membuat Peran IAM di AWS menggunakan Terraform

  2. Seri Ansible RHCE #9:Peran yang Mungkin

  3. Membuat dan mengontrol skrip start up di BusyBox

  1. Database Drop PostgreSQL dengan Contoh

  2. Cara Membuat, Menjatuhkan, Mengubah, dan Memotong Tabel di Cassandra

  3. Cara Membuat Database di PostgreSQL