Проблема
Вы хотите, чтобы пользователи могли архивировать свои данные. Тем не менее раздавать пользователям учетные записи только для этой цели было бы нелогично. Вам хотелось бы упростить совместный доступ к файлам, но также без предоставления лишних учетных записей.
Решение
Создайте централизованный сервер, на котором rsync будет работать в режиме демона. Пользователям не понадобятся учетные записи для входа на этот сервер, а безопасность будет обеспечиваться собственными средствами rsync. Программа rsync должна быть установлена на всех компьютерах. Сначала на сервере rsync отредактируйте или создайте файл /etc/rsyncd.conf, чтобы создать модуль rsync с определением архива:
Глобальные параметры
log file - /var/log/rsyncd.log
Модули [backup_dirl]
path « /backups comment - serverl archive list » yes read only - no
Проверьте, что каталог /backups существует. Затем запустите rsync на сервере в режиме демона:
rsync --daemon
Теперь вы можете копировать файлы с удаленного компьютера на сервер. В следующем примере удаленный PC будет называться «workstation», а сервер rsync — «serverl». Начните с проверки доступности сервера rsync:
sue@workstation:~$ rsync serverl:: backupdirl serverl archive
Следующая команда копирует каталог/spreadsheets в модуль backup_dirl:
sue@workstation:-$ rsync -av spreadsheets serverl::backup_dirl
building file 11st... done
spreadsheets/aug_03
spreadsheets/sept_03
spreadsheets/oct_03
wrote 126399 bytes read 104 bytes 1522.0 bytes/sec total size 1s 130228 speedup is 0.94
Просмотрите загруженные файлы:
sue(&workstation:~$ rsync serverl::backup_dirl
drwx 192 2003/02/12 spreadsheets
•rw-r*-w*• 21560 2003/09/17 augJ3 •rw* г•-w-• 21560 2003/10/14 sept 03 •rw-r--w-- 21560 2003/11/10 oct_03
Комментарий
Представленная конфигурация абсолютно работоспособна, но не слишком хорошо защищена. Модуль backup_dirl доступен для всех пользователей rsync. Файлы передаются в незащищенном виде, поэтому такой способ не следует использовать для пересылки конфиденциальных данных.
В rsync имеются встроенные средства аутентификации и контроля доступа, позволяющие реализовать несложную схему защиты.
Смотрим также
rsync(l), rsyncd.conf(S); домашняя страница rsync (http://rsync.samba.org).