У меня есть настройка 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.