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

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

Содержание этого поля является приватным и не предназначено к показу.
Регистр имеет значение
 ooooo      ooo   .ooooo.      .oooo.              oooo    oooo              
`888b. `8' 888' `Y88. .dP""Y88b `888 .8P'
8 `88b. 8 888 888 ]8P' .oooo.o 888 d8' oooo ooo
8 `88b. 8 `Vbood888 .d8P' d88( "8 88888[ `88. .8'
8 `88b.8 888' .dP' `"Y88b. 888`88b. `88..8'
8 `888 .88P' .oP .o o. )88b 888 `88b. `888'
o8o `8 .oP' 8888888888 8""888P' o888o o888o .8'
.o..P'
`Y8P'
Введите код, изображенный в стиле ASCII-арт.