Linux安装ftp并java操作

转载请表明出处 https://blog.csdn.net/Amor_Leo/article/details/85227631 谢谢

安装ftp

下载vsftpd

yum -y install vsftpd

创建一个用户

  • useradd 用户名称 (会自动创建文件夹)
useradd myftp

改用户密码

  • passwd 用户名称
  • 然后输入密码 (8位)
passwd  myftp

放行端口号

firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --reload

获取所有内核的参数

  • 开启vsftpd服务之前,我们设置一个Linux内核,因为内核阻止了我们ftp的服务,配置selinux,允许ftb访问home和外网访问.
getsebool -a
getsebool -a | grep ftp 
setsebool -P tftp_home_dir on
setsebool -P allow_ftpd_full_access on
setsebool -P ftpd_full_access on
setsebool -P ftpd_connect_all_unreserved on
setsebool -P ftpd_use_passive_mode on
semanage port -l |grep ftp //查看selinux开启的ftp端口

启动并设置开机自启

chkconfig vsftpd on
service vsftpd start
systemctl enable vsftpd.service

Windows访问

  • 按下“Win+R”组合键打开运行,在框中输入: inetcpl.cpl 点击确定即可打开“internet 属性”
    在这里插入图片描述
  • ftp://ip:21/
ftp://192.168.0.109:21/

在这里插入图片描述

修改为被动模式

  • pasv_enable :开启被动模式
  • pasv_min_port :被动模式最小端口
  • pasv_max_port :被动模式最大端口
vim /etc/vsftpd/vsftpd.conf
pasv_enable=yes
pasv_min_port=30000 
pasv_max_port=40000 
firewall-cmd --zone=public --add-port=30000-40000/tcp --permanent
firewall-cmd --reload
  • 重启
service vsftpd restart

如果你要卸载ftp

  • 卸载
yum remove -y vsftpd
  • 删除配置文件
rm -fr /etc/vsftpd
  • 删除ftp用户
userdel -fr myftp

java操作

添加依赖

<dependency>
    <groupId>commons-net</groupId>
    <artifactId>commons-net</artifactId>
    <version>3.6</version>
</dependency>

代码

public class FtpTest {

public static void main(String[] args) throws SocketException, IOException {

FTPClient ftpClient = new FTPClient();

//ip port

ftpClient.connect("192.168.0.109", 21);

int replyCode = ftpClient.getReplyCode();

System.out.println(replyCode);

if(FTPReply.isPositiveCompletion(replyCode)) {

System.out.println("连接成功");

}

//开始登录

ftpClient.login("myftp", "11111111");

//设置编码

ftpClient.setControlEncoding("utf-8");

//设置上传文件类型 使用二进制

ftpClient.setFileType(FTP.BINARY_FILE_TYPE);

//创建文件夹

ftpClient.makeDirectory("img");

//切换工作目录

ftpClient.changeWorkingDirectory("img");

//上传文件

boolean storeFile = ftpClient.storeFile("6666.jpg", new FileInputStream(new File("d:/66666.jpg")));

if(storeFile) {

System.out.println("ok");

}

ftpClient.logout();

ftpClient.disconnect();

String filePath = "192.168.0.109/img/111.jpg";

}

}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值