16.5. Защита модулей rsync

Проблема

Вы последовали рекомендациям из раздела 16.4. Было бы удобно предоставить пользователям возможность самостоятельной загрузки своих файлов с сервера архивации или поручить обновление веб- и FTP-серверов кому-то ещё. Но доступ к файлам открыт для всех пользователей rsync — как организовать защиту модулей?

Решение

Rsync содержит простые средства аутентификации и контроля доступа. Чтобы активировать их, следует создать новый файл с парами «имя/пароль» и включить директивы «auth users» и «secrets file» в /etc/rsyncd.conf.

Сначала создайте на сервере rsync файл паролей и присвойте ему разрешения chmod 600:

# Пользователи rsync для server1
# Файл создан 2/7/2004
sue:sekkrit

Теперь отредактируйте /etc/rsyncd.conf. Выделите пользователю Sue собственный модуль и заблокируйте доступ к нему всем, кроме Sue:

# Глобальные параметры
log file = /var/log/rsyncd.log
path = /archive
list = yes
read only = no
auth users = sue
secrets file = /etc/rsync/rsync-users

Чтобы обратиться к модулю, пользователь должен указать перед именем сервера своё имя rsync:

sue@workstation:~$ rsync sue@server1::sue_backup
Password:
drwx 192 2003/02/12 spreadsheets
-rw-r--r-- 21560 2003/09/17 aug_03
-rw-r--r-- 21560 2003/10/14 sept_03
-rw-r--r-- 21560 2003/11/10 oct_03

Теперь пользователь сможет архивировать и восстанавливать файлы так же, как раньше — при условии, что он помнит своё имя rsync. Не забудьте двойное двоеточие (::), используемое при подключении к серверу rsync.

Комментарий

Пары «имя/пароль» назначаются произвольно и не имеют отношения к системной учётной записи. Это позволяет легко и быстро создавать и изменять модули, а также добавлять и исключать пользователей.

Для повышения уровня безопасности добавьте следующие директивы в rsyncd.conf:

См. также

Глава 7.