以不同于当前登录用户帐户的用户身份访问 VSFTP 服务器

以不同于当前登录用户帐户的用户身份访问 VSFTP 服务器

我有一段 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.

我做错了什么?我把配置搞乱了吗?或者我试图实现的目标是否可行?

相关内容