Назад | Перейти на главную страницу

VSFTPD: установить каталог пользователя по умолчанию, а НЕ его каталог chroot

У меня есть настройка VSFTPD, в которой пользователи привязаны к своим домашним каталогам. Стандартные вещи. Но для этого необходимо, чтобы все их домашние каталоги были недоступны для записи (чтобы избежать проблем с безопасностью). Нет проблем, если они хотят загружать файлы, они могут загружать их в папку с возможностью записи. в пределах их chroot.

Но теперь они должны переходить в эту папку каждый раз, чтобы выполнить загрузку. Если я использую параметр local_root в файле конфигурации VSFTPD, чтобы переместить их местоположение входа по умолчанию в эту доступную для записи папку, тогда который становится их chroot, и мы возвращаемся к исходной точке: он не может быть записан.

Мой вопрос: как я могу переместить местоположение по умолчанию, в которое VSFTPD помещает пользователей, в каталог с возможностью записи внутри их chroot jail, не делая сам каталог chroot доступным для записи?

Есть только один способ сделать это с помощью vsftpd, и пути должны быть установлены в системном файле passwd. Пути не могут быть установлены в файле vsftpd.conf.

В файле /etc/vsftpd.conf установите следующие два параметра:

chroot_local_user = ДА
passwd_chroot_enable = ДА

Вы также должны изменить домашний каталог unix пользователя, чтобы указать, где находится chroot jail. Корень chroot jail будет расположен по пути слева от /./ в пути к домашнему каталогу. т.е. /ftphome/./home/user/ установил бы тюрьму chroot на /ftphome/ а внутри тюрьмы каталог пользователя будет home/user. Вы можете сделать это, выполнив:

sudo usermod -d /ftphome/./home/user/ user

Очевидно, что chroot-каталог и пользовательские каталоги внутри должны быть настроены в соответствии с обычной подготовкой chroot.