Данный сайт использует файлы cookie
Ok
Close
Первоначальная настройка Bacula
Первоначально нам необходимо настроить PostgreSQL для того, чтобы Bacula могла работать с ней.

Перед изменением настроек рекомендуется сделать резервную копию конфигурационных файлов:

# sudo cp /etc/postgresql/9.6/main/postgresql.conf /etc/postgresql/9.6/main/postgresql.conf_bak

# sudo cp /etc/postgresql/9.6/main/pg_hba.conf /etc/postgresql/9.6/main/pg_hba.conf_bak

В секции «Connection Settings» файла «/etc/postgresql/9.6/main/postgresql.conf» ytj,[jlbvj изменить значение listen_addresses="localhost" на listen_addresses="*", поставив * вместо localhost:

В файле «/etc/postgresql/9.6/main/pg_hba.conf» необходимо внести необходимые изменения:

Для простоты указать метод trust для всех соединений, удалить любую дополнительную конфигурацию после метода типа mod=; и обязательно добавить хост с IP-адресом, где будет работать Директор.

В секции «Database administrative login by Unix domain socket» файла «/etc/postgresql/9.6/main/pg_hba.conf» необходимо закомментировать строку:

local all postgres peer

и дописать после нее строку разделяя значения символом табуляции:

local all postgres trust

В секции «local» файла «pg_hba.conf» необходимо закомментировать строку:

local all all peer

и дописать после нее строку разделяя значения символом табуляции:

local all all trust

В секции «IPv4» файла «pg_hba.conf» закомментировать строку:

host all all 0.0.0.0/0 md5

и дописать после нее 2 строки разделяя значения символом табуляции:

host all all 127.0.0.1/32 trust

при копировании проверяйте правильность указанных IP адресов

host all all 172.16.0.200/24 trust

После настройки конфигурационного файла необходимо перезапустить СУБД командой:

# sudo pg_ctlcluster 9.6 main restart

Затем необходимо присвоить пароли пользователям postrges и bacula следующими командами:

# sudo passwd postgres

# sudo passwd bacula

и создать пользователя БД bacula с паролем «bacula» для работы с системой резервного копирования Bacula.

Выполняем команду sudo -s, входим в интерфейс управления psql командой:

psql template1 -U postgres -h 172.16.0.200 -p 5432

Затем Создаем пользователя bacula командой:

template1=# CREATE ROLE bacula;

Если пользователь bacula создался корректно/правильно получаем ответ:

CREATE ROLE

Присваиваем созданному пользователю пароль: "bacula" следующей командой:

template1=# ALTER USER bacula WITH PASSWORD 'bacula';

Если пароль успешно присвоен пользователю получаем ответ:

ALTER ROLE

Создаем суперпользователя для нашей базы:

template1=# ALTER USER bacula LOGIN SUPERUSER CREATEDB CREATEROLE;

Если суперпользователь для нашей базы создался получаем ответ:

ALTER ROLE

Выходим из интерфейса управления psql командой:

template1=# \q

Далее нам необходимо создать БД bacula, назначить ее владельцем созданного ранее пользователя bacula. Для этого заходим в интерфейс управления psql командой:

psql postgres -p 5432 -U postgres

Создаем БД командой:

postgres=# CREATE DATABASE bacula;

Если база создалась получаем ответ:

CREATE DATABASE

Назначаем владельцем данной БД пользователя "bacula" командой:

postgres=# ALTER DATABASE bacula OWNER TO bacula;

Если назначение прошло успешно получаем ответ:

ALTER DATABASE

Выходим из интерфейса управления psql командой:

postgres=# \q

и затем выходим из терминала суперпользователя

Далее нам необходимо запустить скрипты, которые создадут все необходимые таблицы и привилегии, предварительно создав резервные копии и отредактировав их.

Делаем резервную копию первого скрипта (создания таблиц) и открываем его на редактирование:

sudo cp /usr/share/bacula-director/make_postgresql_tables /usr/share/bacula-director/make_postgresql_tables_bak

sudo mcedit /usr/share/bacula-director/make_postgresql_tables

В строке "db_name" (14я сверху) указать значение имени БД «bacula»:

db_name=bacula

В строке psql после psql вписать «-U bacula -h 172.16.0.200 -p 5432»:

Было: psql -f - -d ${db_name} $* <<END-OF-DATA

Стало: psql -U bacula -h 172.16.0.200 -p 5432 -f - -d ${db_name} $* <<END-OF-DATA

Создать резервную копию сценария раздающего привилегии и открываем его на редактирование::

sudo cp /usr/share/bacula-director/grant_postgresql_privileges /usr/share/bacula-director/grant_postgresql_privileges_bak

sudo mcedit /usr/share/bacula-director/grant_postgresql_privileges

В строке db_user (8я сверху) указать значение пользователя «bacula»

db_user=bacula

В строке db_name указать значение имени БД «bacula»

db_name=bacula

В строке db_password указать значение пароля пользователя БД «bacula»

db_password=bacula

В строке $bindir/psql**** после psql вписать «-U bacula -h 172.16.0.200 -p 5432»

Было: $bindir/psql -f - -d ${db_name} $* <<END-OF-DATA

Стало: $bindir/psql -U bacula -h 172.16.0.200 -p 5432 -f - -d ${db_name} $* <<END-OF-DATA

Для корректного функционирования отредактированных сценариев необходимо выдать права на чтение информации из БД пользователей и сведений о метках безопасности, а так же присвоить для этого необходимые атрибуты пользователю postgres:

sudo usermod -a -G shadow postgres

Установить пользователю необходимые атрибуты:

sudo pdpl-user bacula -l 0:0

Примечание: в данной команде используется буква L в низком регистре

Далее по очереди выполнить отредактированные сценарии:

# sudo /usr/share/bacula-director/make_postgresql_tables

# sudo /usr/share/bacula-director/grant_postgresql_privileges

Если сценарии отработали нормально, то будет выдано сообщение: Privileges for user bacula granted on database bacula.