В статье рассмотрим установку и настройку PostgreSQL 15 на Kali Linux 2022.x.
Еще по теме: Просмотр настройка и изменение Iptables Kali Linux
Что такое PostgreSQL на Kali Linux
PostgreSQL — это объектно-реляционная система управления базами данных (ORDBMS), самая развитая из всех открытых СУБД.
Некоторые из важных функций PostgreSQL включают в себя:
- Гибкий доступ к базам данных, их организация и хранение.
- Управление записями в базах данных: создание, редактирование и удаление, обновление версий.
- Просмотр нужной информации из базы по запросу, например для ее отправки на сайт или в интерфейс приложения.
- Отправка транзакций, последовательных запросов.
- Настройка и контроль доступа к той или иной информации, группировка пользователей по уровню прав.
- Контроль версий и организация одновременного доступа к базе из разных источников так, чтобы предотвратить сбои.
- Контроль состояния базы в целом.
Установка PostgreSQL на Kali Linux
Следующие шаги помогут нам установить PostgreSQL на Kali Linux и протестировать создание базы данных. Kali Linux — это дистрибутив на основе Debian, поэтому мы будем использовать диспетчер пакетов «apt».
Обновление пакетов Kali Linux
Первое, что рекомендуется сделать перед установкой — это убедиться, что система работает с обновленными пакетами.
1 2 |
sudo apt update && sudo apt upgrade -y sudo reboot |
После обновления перезагрузите систему.
Установка PostgreSQL на Kali Linux
Postgresql 15 установлен в Kali Linux по умолчанию. Проверьте доступность PostgreSQL в Kali Linux, выполнив команду:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ sudo apt show postgresql Package: postgresql Version: 15+246 Priority: optional Section: database Source: postgresql-common (246) Maintainer: Debian PostgreSQL Maintainers <team+postgresql@tracker.debian.org> Installed-Size: 15.4 kB Depends: postgresql-15 Suggests: postgresql-doc Tag: devel::lang:sql, interface::daemon, network::server, network::service, role::metapackage, role::program, suite::postgresql, works-with::db Download-Size: 9,836 B APT-Sources: http://http.kali.org/kali kali-rolling/main amd64 Packages Description: object-relational SQL database (supported version) This metapackage always depends on the currently supported PostgreSQL database server version. .... |
Для установки, выполните команду:
1 |
sudo apt install postgresql -y |
Для запуская postgresql на Kali Linux, выполните следующие команды:
1 |
sudo systemctl start postgresql |
Проверьте работу postgresql на Kali Linux:
1 2 3 4 5 6 7 8 9 10 |
$ systemctl status postgresql ● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; disabled; preset: disabled) Active: active (exited) since Mon 2022-11-28 14:53:17 EST; 11s ago Process: 2436 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 2436 (code=exited, status=0/SUCCESS) CPU: 1ms Nov 28 14:53:17 kali systemd[1]: Starting PostgreSQL RDBMS... Nov 28 14:53:17 kali systemd[1]: Finished PostgreSQL RDBMS. |
Проверка установки PostgreSQL на Kali Linux
Проверьте возможность подключения к PostgreSQL для создания тестовой базы данных. После установки PostgreSQL, создается пользователь по умолчанию с именем postgres:
1 |
sudo su - postgres |
Для создания сложного пароля и защиты пользователя postgres, выполните команду (см. Генерация паролей в терминале Linux):
1 |
psql -c "alter user postgres with password 'MyStrongPassword'" |
Для запуска команд Postgresql, войдите в командную строку PostgreSQL:
1 2 3 4 5 |
$ psql psql (15.1 (Debian 15.1-1)) Type "help" for help. postgres=# |
Для отображения списка доступных баз данных:
1 2 3 4 5 6 7 8 9 10 |
$ \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (3 rows) |
Чтобы создать базу данных, выполните команду:
1 |
CREATE DATABASE testdb; |
Убедитесь, что создана новая база данных, еще раз выполнив команду:
1 2 3 4 5 6 7 8 9 10 11 |
# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres testdb | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | (4 rows) |
Чтобы создать пользователя и предоставить ему права доступа к базе данных, которую мы создали ранее, выполните команды:
1 2 3 4 |
postgres=# CREATE USER testuser WITH ENCRYPTED PASSWORD 'MyPassword'; CREATE ROLE postgres=# GRANT ALL PRIVILEGES ON DATABASE testdb to testuser; GRANT |
Для подключения к созданной базе данных:
1 2 3 |
# \c testdb You are now connected to database "testdb" as user "postgres". testdb=# |
Настройка удаленного доступа к PostgreSQL
PostgreSQL имеет файл конфигурации, в который можете, при необходимости, вносить изменения . Я покажу вам, как редактировать адреса прослушивания и включать удаленный доступ.
Откройте файл конфигурации:
1 |
sudo vim /etc/postgresql/15/main/postgresql.conf |
В разделе Connection and Authentication (Подключение и аутентификация), раскомментируйте строку:
1 |
59; #listen_addresses=’localhost’ |
и отредактируйте строку, чтобы разрешить прослушивание на любом интерфейсе (To listen on all interfaces) или на определенных интерфейсах (To enable only specified private IP address):
1 2 3 4 5 |
# To listen on all interfaces listen_addresses = '*' # To enable only specified private IP address listen_addresses = '192.168.50.2' |
Чтобы включить удаленное подключение, отредактируйте файл:
1 |
sudo vim /etc/postgresql/15/main/pg_hba.conf |
Внесите следующие изменения:
1 2 3 4 5 |
# To accept connections from anywhere host all all 0.0.0.0/0 md5 # To accept only from trusted subnet host all all 10.10.10.0/24 md5 |
После внесения вышеуказанных изменений необходимо перезапустить postgresql:
1 |
sudo systemctl restart postgresql |
Чтобы отключить удаленный доступ к базе данных Postgresql, откройте вышеуказанные файлы конфигурации и добавьте « #» в начале строк.
Например, чтобы отключить удаленный доступ из любого места, отредактируйте строку и не забудьте перезапустить postgresql, когда закончите:
1 |
#host all all 0.0.0.0/0 md5 |
Как видите. Запустить и использовать базу данных Postgresql довольно просто, в любом дистрибутиве Linux, в том числе Kali Linux.
РЕКОМЕНДУЕМ: