GNU/Linux >> Tutoriales Linux >  >> Linux

Crear y soltar roles en PostgreSQL

Para probar un servidor de base de datos de producción, debe crear roles adicionales porque trabajar regularmente en sus bases de datos como el rol de superusuario predeterminado es riesgoso.

Este artículo le muestra cómo crear funciones adicionales con PostgreSQL® mediante el uso de psql comandos de cliente o comandos de shell. Debe usar el usuario de Linux®, postgres ®, con ambos métodos.

Inicie sesión en su instancia con sus credenciales de Linux y ejecute el siguiente comando para cambiar a los usuarios a postgres usuario:

# sudo su - postgres

Usar comandos psql

Use los siguientes pasos para crear o eliminar usuarios usando el psql cliente.

Conectar con psql

Conéctese al servidor de la base de datos utilizando el cliente psql con postgres rol:

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

Crear un rol

Después de conectarse con el psql cliente, ejecute el siguiente comando para crear un rol que tenga el LOGIN atributo y una contraseña encriptada MD5 no vacía:

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

Nota :Se requiere el punto y coma final (; ) al final de la instrucción SQL. Las comillas simples ( ' ' ) no forman parte de la contraseña, pero deben encerrarla.

Valide que creó el rol con éxito usando el siguiente comando:

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)

Eliminar un rol

Cuando ya no necesite una función, puede descartar (eliminar o eliminar) una función mediante el siguiente comando:

postgres=# DROP ROLE demorole1;

Si luego verifica con el \du comando, puedes ver que demorole1 ya no está en la lista.

Crear un superusuario

Ocasionalmente, es posible que deba crear roles de superusuario adicionales, como cuando tiene un programador de base de datos en quien confía para administrar el servidor postgres.

Para crear un superusuario, ejecute el siguiente comando:

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

El comando establece el LOGIN y especifica una contraseña que no esté vacía. Estos factores son importantes si pretende este rol de superusuario para conexiones locales y remotas a la base de datos.

Salir de psql

Para salir de psql , ejecute el siguiente comando:

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

Usar comandos de shell

Puede crear y descartar roles de base de datos mediante los comandos de shell createuser y dropuser, que son contenedores para las sentencias CREATE y DROPSQL. Una instalación estándar de postgres incluye estos comandos.

crear usuario

Ejecute el siguiente comando para crear un rol que no sea de superusuario que tenga el LOGIN atributo:

postgres@demo:~$ createuser -PE demorole2

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

El -P le pide que establezca una contraseña para el nuevo rol y -E bandera indica almacenar la contraseña como una cadena cifrada MD5.

Para verificar la creación del rol, conéctese a psql y ejecuta el siguiente 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)

usuario

Ejecute el siguiente comando para descartar un rol:

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

El -i flag proporciona un mensaje de confirmación, que es una buena medida de seguridad cuando ejecuta un comando potencialmente destructivo.

Crear un superusuario

Ocasionalmente, es posible que deba crear roles de superusuario adicionales, como cuando tiene un programador de base de datos en quien confía para administrar el servidor postgres.

Para crear un superusuario, ejecute el siguiente comando:

postgres@demo:~$ createuser -sPE mysuperuser

Linux
  1. Instalación de PostgreSQL y phpPgAdmin en CentOS

  2. Cómo crear un rol de IAM en AWS usando Terraform

  3. Serie RHCE Ansible n.º 9:Roles de Ansible

  4. Cómo hacer una copia de seguridad y restaurar la base de datos en PostgreSQL

  5. Crear y controlar scripts de inicio en BusyBox

Roles de Ansible y cómo usarlos en Playbooks

¿Cómo crear una base de datos PostgreSQL?

Crear y administrar un subdominio

Crear y eliminar un trabajo cron

Instale PostgreSQL 11 y PgAdmin4 en Ubuntu 18.04

Crear y configurar un usuario en MSSQL