У меня есть часть Java-программы для доступа к локальному FTP-серверу (работающему на VSFTPD), которую я использую для загрузки и скачивания файлов. Я планирую, чтобы это приложение поддерживало удаленный доступ, чтобы оно могло обращаться к удаленному компьютеру для передачи файлов. Вот что я сделал до сих пор.
- Установил VSFTPD с помощью
sudo apt-get install vsftpd
(я работаю на Ubuntu 16.04 LTS). Добавлены конфигурации, которые выглядят следующим образом. (Я вынул комментарии, чтобы уменьшить содержание)
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES #local_umask=022 #anon_upload_enable=YES #anon_mkdir_write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES #chown_uploads=YES #chown_username=whoever #xferlog_file=/var/log/vsftpd.log #xferlog_std_format=YES #idle_session_timeout=600 #data_connection_timeout=120 #nopriv_user=ftpsecure #async_abor_enable=YES #ascii_upload_enable=YES #ascii_download_enable=YES #ftpd_banner=Welcome to blah FTP service. #deny_email_enable=YES #banned_email_file=/etc/vsftpd.banned_emails #chroot_local_user=YES #chroot_local_user=YES #chroot_list_enable=YES #chroot_list_file=/etc/vsftpd.chroot_list #ls_recurse_enable=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd # encrypted connections. rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO #utf8_filesystem=YES local_root=/var/ftp/local_root
Создал отдельного пользователя с именем
ftpuser
и изменил домашний каталог этого пользователя на/var/ftp/local_root
.- Добавил пользователя в
/etc/vsftpd.chroot_list
.
Демон запущен и работает, и когда я запускаю фрагмент кода java с учетными данными моей учетной записи, в настоящий момент вошедшей в систему, загрузка файла работает чертовски гладко. И файл загружается в домашнюю директорию текущего пользователя. (что и должно быть при текущих настройках)
Теперь мне нужно запустить этот фрагмент для текущего пользователя, в который я вошел, и войти на FTP-сервер в качестве ftpuser
, который является учетной записью пользователя, доступной в системе, но в данный момент не вошедшей в систему. Чтобы сделать это, я изменил фрагменты в фрагменте кода на ftpuser
и <password>
и получаю ошибку. 530 Please login with USER and PASS.
Что я делаю неправильно? Я испортил конфигурацию? Или то, что я пытаюсь достичь даже возможно?