GNU/Linux >> Linux Esercitazione >  >> Linux

Crea e rilascia ruoli in PostgreSQL

Per testare un server di database di produzione, dovresti creare ruoli aggiuntivi perché lavorare regolarmente nei tuoi database poiché il ruolo di superutente predefinito è rischioso.

Questo articolo mostra come creare ruoli aggiuntivi con PostgreSQL® utilizzando psql comandi client o comandi shell. Devi usare l'utente Linux®, postgres ®, con entrambi i metodi.

Accedi alla tua istanza con le tue credenziali Linux ed esegui il comando seguente per passare gli utenti a postgres utente:

# sudo su - postgres

Usa i comandi psql

Utilizzare i seguenti passaggi per creare o eliminare utenti utilizzando psql cliente.

Connettiti con psql

Connettiti al server del database usando thepsqlclient con postgres ruolo:

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=#

Crea un ruolo

Dopo esserti connesso a psql client, eseguire il comando seguente per creare un ruolo con LOGIN attributo e una password crittografata con MD5 non vuota:

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

Nota :Il punto e virgola finale (; ) alla fine dell'istruzione SQL è obbligatorio. Le virgolette singole ( ' ' ) non fanno parte della password ma devono racchiuderla.

Convalida di aver creato correttamente il ruolo utilizzando il comando seguente:

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)

Rilascia un ruolo

Quando non hai più bisogno di un ruolo, puoi eliminare (eliminare o rimuovere) un ruolo utilizzando il seguente comando:

postgres=# DROP ROLE demorole1;

Se poi controlli con il \du comando, puoi vedere quel demorole1 non è più elencato.

Crea un superutente

Occasionalmente, potresti dover creare ruoli di superutente aggiuntivi, ad esempio quando hai un programmatore di database di cui ti fidi per amministrare il postgresser.

Per creare un superutente, esegui il seguente comando:

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

Il comando imposta il LOGIN attributo e specifica una password non vuota. Questi fattori sono importanti se intendi questo ruolo di superutente per connessioni locali e remote al database.

Esci da psql

Per uscire da psql , esegui il comando seguente:

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

Usa i comandi della shell

È possibile creare ed eliminare ruoli di database utilizzando i comandi createuseranddropusershell, che sono wrapper per le istruzioni CREATE e DROPSQL. Un'installazione standard di Postgres include questi comandi.

creautente

Esegui il comando seguente per creare un ruolo non superutente con LOGIN attributo:

postgres@demo:~$ createuser -PE demorole2

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

Il -P flag ti chiede di impostare una password per il nuovo ruolo e il -E flagindica di memorizzare la password come stringa crittografata con MD5.

Per verificare la creazione del ruolo, connettiti a psql ed esegui il seguente comando:

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

Esegui il comando seguente per eliminare un ruolo:

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

Il -i flag fornisce una richiesta di conferma, che è una buona misura di sicurezza quando si esegue un comando potenzialmente distruttivo.

Crea un superutente

Occasionalmente, potresti dover creare ruoli di superutente aggiuntivi, ad esempio quando hai un programmatore di database di cui ti fidi per amministrare il postgresser.

Per creare un superutente, esegui il seguente comando:

postgres@demo:~$ createuser -sPE mysuperuser

Linux
  1. Installazione di PostgreSQL e phpPgAdmin in CentOS

  2. Come creare un ruolo IAM in AWS utilizzando Terraform

  3. RHCE Ansible Series #9:Ansible Roles

  4. Come eseguire il backup e il ripristino del database in PostgreSQL

  5. Crea e controlla gli script di avvio in BusyBox

Ruoli Ansible e come usarli nei Playbook

Come creare un database PostgreSQL?

Crea e gestisci un sottodominio

Crea ed elimina un lavoro Cron

Installa PostgreSQL 11 e PgAdmin4 su Ubuntu 18.04

Crea e configura un utente in MSSQL