Писал я тут когда-то про настройку NFS сервера, про настройку vsftpd. А православный rsync я как-то забыл.
Пополню коллекцию, напишу как настроить rsync сервер.
Начинается всё как обычно:
Таким образом мы ставим и клиент, и сервер. Сервер нужно включить:
И нужно написать конфиг. Я пишу большой конфиг, но далеко не все опции обязательны. Ещё стоит аккуратно выбирать gid/uid, от которого будет работать rsyncd. Понятно дело, что root/root избавят вас от любых проблем с правами. Но лучше выставлять что-то в духе nobody/nobody, а для нужных файлов вешать chmod 777/755 в зависимости от потребностей в rw/ro.
Собственно:
gid = nogroup
use chroot = no
max connections = 10
pid file = /var/run/rsyncd.pid
[somerwdir]
path = /storage/forbackups
comment = For backups from local servers
uid = backupuser
gid = backupgroup
hosts allow = 192.168.0.0/24
hosts deny = *
[logs-rw]
path = /storage/logs
comment = Logs storage, rw local access
uid = logsuser
gid = logsgroup
hosts allow = 192.168.0.0/24
hosts deny = *
[logs-ro]
path = /storage/logs
comment = Logs storage, ro world-wide access.
uid = logsuser
gid = logsgroup
read only = yes
auth users = admin, manager, logparser
secrets file = /etc/rsyncd.pass
В /etc/rsyncd.pass пароли придется хранить в открытом виде, поэтому:
В сам файл пишем примерно такое:
manager:pass2
logparser:pass3
Теперь осталось создать всех пользователей и группы (adduser/addgroup), которые мы указывали в конфиге в опциях uid/gid, и запустить сам rsyncd:
При изменении конфига рестартить демон не нужно — он читает конфиг при каждом подключении.
Ну и полюбуемся на свои труды:
somerwdir For backups from local servers
logs-rw Logs storage, ro world-wide access.
logs-ro Logs storage, rw local access
Password:
drwxr-xr-x 4096 2012/07/01 20:33:50 .
А как можно со стороны сервера ограничить скорость скачивания с определенных хостов? Дать по шапке скачивающим не вариант.
В rsyncd.conf нельзя, судя по мануалу. По крайней мере, в текущей версии.
в секциях с ресурсами:
«auth users» вместе «uid», «gid»
Для Debian:
gid = nogroup
Поправил, спасибо.