Я новичок в FTP и слежу за это руководство DigitalOcean .
Все работает отлично, за исключением того, что пользователь (по крайней мере, в FileZilla) не может писать в корень своей / home / user / ftp
папки, только / home / user / ftp / files
. Попытка создать в корневой папке приводит к:
Команда: PASV Ответ: 227 Переход в пассивный режим (104,131,29,61,191,224).
Команда: STOR asdfa
Ответ: 553 Не удалось создать файл .
Ошибка: критическая ошибка передачи файла
Я просканировал файл /etc/vsftpd.conf
на предмет слов файлов
, но нигде не могу найти эту конфигурацию. Раньше я использовал FTP, и, как правило, вы откладываете файлы, и файлы тут же, без необходимости переходить по папкам.
Это какая-то проблема chown
в Ubuntu?
По умолчанию /etc/vsftpd.conf
изначально не включает все возможные директивы, поддерживаемые конфигурационным файлом. Остальное можно найти в man vsftpd.conf
.
Ответ на ваш вопрос можно найти в самом tutorial:
FTP, как правило, более безопасен, когда пользователи ограничены определенным параметром каталог. vsftpd делает это с тюрьмами chroot. Когда chroot is включено для локальных пользователей, они ограничены их домашним каталогом по умолчанию. Однако, из-за способа, которым vsftpd обеспечивает безопасность каталога, он не должен быть записываемым пользователем. Это нормально для нового пользователя, который должен подключаться только через FTP, но существующему пользователю может понадобиться написать по адресу Другими словами, вы создали папку
/home/user/ftp
, чтобы позволить vsftp использовать chroot jails, не делая домашнюю папку/home/user/
доступной только для чтения пользователю. Таким образом, вы уже применяете лучшие методы и не должны беспокоиться об ошибке, так как это нормальное и желаемое поведение.Это возможно , но настоятельно не рекомендуется отключать chroot jail.
Если речь идет только о том, чтобы изменить пользовательский опыт, вы можете попробовать добавить непосредственно к
/home/user/ftp/files
после входа в систему, добавив/изменив директивы vsftp.conf:user_sub_token=$USER local_root=/home/$USER/ftp/files