Eu tenho um pedaço de um programa em Java que acessa o servidor FTP local (em execução no VSFTPD) que eu uso para fazer upload e download de arquivos. Estou planejando que esse aplicativo seja habilitado para remoto, para que possa acessar um computador remoto para transferência de arquivos. O seguinte é o que eu fiz até agora.
sudo apt-get install vsftpd
(estou executando no Ubuntu 16.04 LTS). Adicionadas as configurações que se parecem com as seguintes. (Tirei os comentários para reduzir o conteúdo)
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
Criado um usuário separado chamado ftpuser
e alterado o diretório inicial desse usuário para /var/ftp/local_root
.
/etc/vsftpd.chroot_list
. O daemon está ativo e em execução e quando executo o snippet java com as credenciais da minha conta atualmente conectada , o upload do arquivo funciona sem problemas. E o arquivo está sendo enviado para o diretório inicial dos usuários atuais. (que é o que deveria ser, com a configuração atual)
Agora, o que preciso fazer é executar este snippet no usuário atual em que estou logado e efetuar login no servidor FTP como ftpuser
, que é uma conta de usuário disponível no sistema, mas não está conectada no momento Para fazer isso, alterei os snippets no snippet de código para ftpuser
e <password>
e recebo um erro 530 Please login with USER and PASS.
O que estou fazendo de errado? Eu estraguei a configuração? Ou é o que eu tento conseguir mesmo possível?