Когда ftp-сервер работает в "песочнице" (используется chroot), задействовать обычные симлинки (symlinks) на директории, расположенные вне корневой директории ftp-сервера, не представляется возможным, так как для ftp-сервера они находятся вне доступного дерева каталогов. Но держать абсолютно все файлы и каталоги в корневом каталоге ftp-сервера тоже не всегда возможно и рационально.
В этом случае спасает опция -o bind или --bind утилиты mount. Расмотрим, как это работает.
Допустим, что корневой каталог ftp-сервера - /var/ftp. А нам нужно, чтобы пользователи нашего ftp-сервера получили доступ "только на чтение" к каталогу music, который лежит на сервере в каталоге /home/user/, т.е. полный путь - /home/user/music. Решение нашей задачи выглядит так:
1. Создаём каталог - точку монтирования:
mkdir -p /var/ftp/music
2. Выполняем монтирование так:
mount -o ro,bind /home/user/music /var/ftp/music
или так:
mount -o ro --bind /home/user/music /var/ftp/music
После этого, наш ftp-сервер сможет получить доступ к этим данным.
Обратите внимание, что данная возможность появилась в linux с версии ядра 2.4.0
или внести изменения в файл /etc/fstab добавив строку:
/home/budda/downloads /var/ftp/pub/disk80 -o ro,rbind 0 0
Комментариев нет:
Отправить комментарий