2

У меня есть часть Java-программы для доступа к локальному FTP-серверу (работающему на VSFTPD), которую я использую для загрузки и скачивания файлов. Я планирую, чтобы это приложение поддерживало удаленный доступ, чтобы оно могло обращаться к удаленному компьютеру для передачи файлов. Вот что я сделал до сих пор.

  1. Установил VSFTPD с помощью sudo apt-get install vsftpd (я работаю на Ubuntu 16.04 LTS).
  2. Добавлены конфигурации, которые выглядят следующим образом. (Я вынул комментарии, чтобы уменьшить содержание)

    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
    
  3. Создал отдельного пользователя с именем ftpuser и изменил домашний каталог этого пользователя на /var/ftp/local_root .

  4. Добавил пользователя в /etc/vsftpd.chroot_list .

Демон запущен и работает, и когда я запускаю фрагмент кода java с учетными данными моей учетной записи, в настоящий момент вошедшей в систему, загрузка файла работает чертовски гладко. И файл загружается в домашнюю директорию текущего пользователя. (что и должно быть при текущих настройках)

Теперь мне нужно запустить этот фрагмент для текущего пользователя, в который я вошел, и войти на FTP-сервер в качестве ftpuser , который является учетной записью пользователя, доступной в системе, но в данный момент не вошедшей в систему. Чтобы сделать это, я изменил фрагменты в фрагменте кода на ftpuser и <password> и получаю ошибку. 530 Please login with USER and PASS.

Что я делаю неправильно? Я испортил конфигурацию? Или то, что я пытаюсь достичь даже возможно?

0