Ftp-安装部署
#rpm -qa | grep vsftpd
如果已经安装,则会显示它的版本号,否则说明系统没有安装。
2.1、添加FTP用户,用于登录FTP时使用,并设置根目录为:/home/user-ftp,并不能登录系统
#useradd -d /home/user-ftp -s /sbin/nologin user-ftp
#passwd user-ftp
密码暂设置为:“UmsTFyyeHTvf93KG”
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO #是否开启匿名登录
去掉注释 chroot_list_enable=YES #是否将系统用户限制在自己的home目录下
去掉注释 chroot_list_file=/etc/vsftpd/chroot_list #列表受限制用户
添加如下配置
anon_world_readable_only=NO
anon_other_write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
chown_uploads=YES
#vi /etc/vsftpd/chroot_list 增加添加的ftp账号后保存退出,如:ftpuser
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 40000:40080 -j ACCEPT
重启防火墙:#service iptables restart
4.2、编辑/etc/vsftpd/vsftpd.conf文件,在末尾添加:
pasv_enable=YES
pasv_min_port=40000 //设置被动模式的最小端口
pasv_max_port=40080 //设置被动模式的最大端口
pasv_promiscuous=YES
#service vsftpd restart
7、问题
1)远程连接linux的ftp时,使用本地账户怎么连也连接不上,ftpuser和user_list配置没问题,vsftpd.config的配置也开启了本地账户登录(local_enable=YES)。
linux用ftp 127.0.0.1登录提示“530 Login incorrect”
解决:
进入/etc/pam.d将vsftpd文件中的pam_shells.so改为pam_nologin.so,然后systemctl restart vsftpd重启服务,连接ftp成功
原因:
应该和PAM模块配置有关,具体原因待深究
2)前一阵子自己在linux中部署安装了一个ftp服务器,在做上传、删除的时候,发现很慢。于是打印log日志,发现原因在于ftp.login()方法。因为当时配置ftp时没有关闭DNS查找功能,故在登录ftp服务器时,耗时长达16s。经过提工单找到解决方案!下面就是解决方案:
1.登录远程linux主机,打开ftp配置文件vsftpd.conf
2.在文件最末尾处添加如下代码:reverse_lookup_enable=NO 表示不查找dns
3.最后保存文件重启服务器。service vsftpd restart
Ftp-Java调用
1、配置文件-application.properties:
2、jar包坐标-pom.xml:
3、工具类:
4、测试类:
软件包以及Java调用工具类下载地址:https://download.csdn.net/download/qq_34281865/15503537
个人交流Q:772182648
以上是本人自己总结,并且在项目中实际用到的。新手一枚,不喜勿喷!