Устанавливаем и настраиваем rsync сервер на FreeBSD

Print Friendly, PDF & Email

Задача:

Настроить rsync сервер на операционной система FreeBSD 12.0 с работой по протоколу rsync

---------------------------------------------------------------

Наличие rsync в системе можно проверить, выполнив следующую команду:

root@server:/ # whereis rsync
rsync: /usr/local/bin/rsync /usr/local/man/man1/rsync.1.gz /usr/ports/net/rsync

И так, мы будем настраивать rsync только из за того, что хотим, чтобы система создавала резервные копии не через SSH, а именно через демон rsyncd. По умолчанию используется TCP-порт 873.

Установка:

cd /usr/ports/net/rsync
make install

или

pkg install rsync

Настройка rsync для FreeBSD:

с помощью найтроек , мы можем:

Через файл конфигурации rsyncd мы можем:

  • Настроить определённого пользователя и пароль
  • Разрешить вход только с определенного IP/хоста
  • Разрешить доступ к определённым директориям и файлам

Переходим в директорию

cd /usr/local/etc/rsync

Делаем бекап конфига

cp rsyncd.conf rsync.backup

При желании, можно создать файл приветствия

echo "rsync server" > rsyncd.motd
echo "Backup server" >> rsyncd.motd

создаем файл c пользователем и паролем и для безопасности, настраиваем права на файл

echo "backup:PassworD" > rsyncd.scrt
chmod 0600 /usr/local/etc/rsync/rsyncd.scrt

Редактируем конфиг

ee rsyncd.conf
#
pid file = /var/run/rsyncd.pid
motd file = /usr/local/etc/rsync/rsyncd.motd

#uid = nobody
#gid = nobody
#use chroot = no
#max connections = 4
#syslog facility = local5

[backup]
#       uid = root
#       gid = root
        path = /mnt/data/
        hosts allow = 192.168.18.231
        hosts deny = *
        auth users = backup
        secrets file = /usr/local/etc/rsync/rsyncd.scrt
        read only = yes
        list = yes

Описание параметров:

  • uid = root # пользователь, от которого будем выполнять синхронизацию
  • gid = root # группа, от которой будем выполнять синхронизацию
  • path = /mnt/data/ # путь до ресурса, для которого выполняется синхронизация.
  • hosts allow = 192.168.18.231 # к каких хостов есть доступ к серверу
  • hosts deny = * # хосты, доступ с которых к rsync серверу запрещен (в данном примере, со всех, кроме разрешенных).
  • auth users = backup # проверка подлинности, вводом логина и пароля.
  • secrets file = /usr/local/etc/rsync/rsyncd.scrt # файл с логинами и паролями
  • read only = yes # режим для чтения. Защищаем данные от удаления или изменения.
  • list = yes # разрешить или запретить чтения содержимого каталога. Если установили(no), синхронизация может выполняться только для перечисленных файлов.

Добавляем сервер rsync в автозагрузку

echo 'rsyncd_enable="YES"' >> /etc/rc.conf

Запускаем

service rsyncd start

Команда для синхронизации

rsync -avz rsync://backup@192.168.18.130:/backup /mnt/backup

Возможные ошибки:

rsync: failed to connect to 192.168.17.112 (192.168.17.112): Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(125) [Receiver=3.1.2]
@ERROR: auth failed on module backup
 rsync error: error starting client-server protocol (code 5) at main.c(1666) [Receiver=3.1.2]
Помогла статья? Есть возможность отблагодарить автора

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *