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

Проблема
Вы последовали рекомендациям из раздела 16.4. В самом деле, было бы удобно
предоставить пользователям возможность самостоятельной загрузки своих файлов
16.5. Защита модулей rsync 259
с сервера архивации или поручить обновление веб- и FTP-серверов кому-то еще.
Но доступ к файлам открыт для всех пользователей rsync — как организовать за щиту модулей?
Решение
Rsync содержит простые средства аутентификации и контроля доступа. Чтобы
активизировать их, следует создать новый файл с парами «имя/пароль» и вклю чить директивы «auth users» и «secrets file» в/etc/rsyncd.conf.
Сначала создайте на сервере rsync файл паролей и присвойте ему разрешения
chmod 600:
# Пользователи rsync для serverl
# Файл создан 2/7/2004
sue:sekkrit
Теперь отредактируйте /etc/rsyncd.comf. Выделите пользователю Sue собствен ный модуль и заблокируйте доступ к нему всем, кроме Sue:
# Глобальные параметры
log f i le = /var/log/rsyncd.log
H archive
l i s t = yes
read only = no
auth users = sue
secrets f i le « /etc/rsync/rsync-users
Чтобы обратиться к модулю, пользователь должен указать перед именем сер вера свое имя rsync:
sue@workstation:~$ rsync sue@serverl::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. He забудьте двойное
двоеточие (::), используемое при подключении к серверу rsync.
Комментарий
Пары «имя/пароль» назначаются произвольно и не имеют отношения к систем ной учетной записи. Это позволяет легко и быстро создавать и изменять модули,
а также добавлять и исключать пользователей.
Для повышения уровня безопасности добавьте следующие директивы в rsyncd.conf:
О strict modes = yes — файл паролей не будет проверяться rsync, если он доступен
для чтения кому-либо, кроме демона rsync, и пользователь не получит досту па. По умолчанию используется режим yes, поэтому включать эту строку не
обязательно (разве что как напоминание). Если вы не хотите использовать
жесткую проверку, включите директиву strict modes = false;
262 Глава 16. Архивация и восстановление
См. также
Глава 7.