Когда ftp-сервер работает в "песочнице" (используется chroot), задействовать обычные симлинки (symlinks) на директории, расположенные вне корневой директории ftp-сервера, не представляется возможным, так как для ftp-сервера они находятся вне доступного дерева каталогов. Но держать абсолютно все файлы и каталоги в корневом каталоге ftp-сервера тоже не всегда возможно и рационально.
В этом случае спасает опция -o bind
или -
-bind
утилиты mount
. Расмотрим, как это работает.
Допустим, что корневой каталог ftp-сервера - /var/ftp
. А нам нужно, чтобы пользователи нашего ftp-сервера получили доступ "только на чтение" к каталогу music, который лежит на сервере в каталоге /home/user/
, т.е. полный путь - /home/user/music
. Решение нашей задачи выглядит так:
mkdir -p /var/ftp/music
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
Вот и всё! Удачи!