FTP сервер ProFTPd и символические ссылки

Ситуация следующая, сервер Debian lenny под управлением серверной панели Plesk, все заточено именно под FTP хранилище. В Plesk, FTP сервером по умолчанию является ProFTPd. Ставим на сервер второй жесткий диск. Задача, сделать так что-бы 2 FTP пользователя системы могли его полноценно использовать.

Первое что приходит в голову, создать в пользовательских папках, символические ссылки на новый диск. Единственная проблема заключается в том, что ftp сервер ProFTPd не умеет работать с символическими ссылками. То есть видеть, он их видит, но ходить по ним не может, тем более туда что-то сохранять.

В такой ситуации нам может помочь команда mount с ключом --bind, позволяющая смонтировать папку в другую папку.

Поступаем следующим образом. Пользовательские домашние папки для FTP расположены в /var/www/vhosts/domain.com/ftp, второй диск у нас смонтирован в папку /disk2:

server:# mkdir /var/www/vhosts/user1.domain.com/ftp/dosk2 # создаем каталог disk2 в FTP папке первого пользователя
server:# mkdir /var/www/vhosts/user2.domain.com/ftp/dosk2 # аналогично для второго пользователя
server:# mkdir /dosk2/ftpuser1 # на новом диске создаем папку для первого пользователя
server:# mkdir /dosk2/ftpuser2 # и для второго

смонтируем папки следующими командами:

server:# mount --bind /disk2/ftpuser1 /var/www/vhosts/user1.domain.com/ftp/dosk2
server:# mount --bind /disk2/ftpuser2 /var/www/vhosts/user2.domain.com/ftp/dosk2

Что-бы после перезагрузки монтировались все необходимые папки, дописываем в файл /etc/fstab:

/disk2/ftpuser1 /var/www/vhosts/user1.domain.com/ftp/dosk2 none bind
/disk2/ftpuser2 /var/www/vhosts/user2.domain.com/ftp/dosk2 none bind

Если наши папки в данный момент еще не смонтированы, делаем:

server:# mount -a

проверяем:

server:# mount
/dev/sda3 on / type ext3 (rw,errors=remount-ro,usrquota)
.........................
.........................
/disk2/ftpuser1 on /var/www/vhosts/user1.domain.com/ftp/dosk2 type none (rw,bind)
/disk2/ftpuser2 on /var/www/vhosts/user2.domain.com/ftp/dosk2 type none (rw,bind)

Теперь ProFTPd будет работать с папкой находящейся на другом диске как с обычной, безо всяких символических ссылок.

Комментарии

Inappropriate file type or format

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
Регистр имеет значение
 ooo        ooooo  ooooooooo.                      oooooooooo.                oooo    oooo 
`88. .888' `888 `Y88. `888' `Y8b `888 .8P'
888b d'888 888 .d88' oooo oooo ooo 888 888 oooo ooo 888 d8'
8 Y88. .P 888 888ooo88P' `88. `88. .8' 888oooo888' `88. .8' 88888[
8 `888' 888 888`88b. `88..]88..8' 888 `88b `88..8' 888`88b.
8 Y 888 888 `88b. `888'`888' 888 .88P `888' 888 `88b.
o8o o888o o888o o888o `8' `8' o888bood8P' .8' o888o o888o
.o..P'
`Y8P'
Введите код, изображенный в стиле ASCII-арт.