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

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

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

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

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

решение1

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

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

chroot_local_user=ДА
passwd_chroot_enable=ДА

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

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

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

Связанный контент