CentOS 7 安装vsftpd步骤

1、安装vsftpd组件

[root@localhost ~]# yum -y install vsftpd

 

2、添加一个ftp用户

此用户就是用来登录ftp服务器用的。

[root@localhost ~]# useradd ftpuser

这样一个用户建完,可以用这个登录,记得用普通登录不要用匿名了。登录后默认的路径为 /home/ftpuser。

 

3、给ftp用户添加密码

[root@localhost ~]# passwd ftpuser

输入两次密码后修改密码。

 

4、防火墙开启21端口

因为ftp默认的端口为21,而centos默认是没有开启的。

centos7中的防火墙改成了firewall,使用iptables无作用,开放端口的方法如下:

firewall-cmd --zone=public --add-port=80/tcp --permanent

返回success为成功。

命令含义: 

--zone #作用域 

--add-port=80/tcp #添加端口,格式为:端口/通讯协议 

--permanent #永久生效

 

[root@localhost ~]# firewall-cmd --zone=public --add-port=21/tcp --permanent

[root@localhost ~]# firewall-cmd --reload

查看已开放的端口

[root@localhost ~]# firewall-cmd --list-ports

 

5、修改selinux

外网是可以访问上去了,可是发现没法返回目录(使用ftp的主动模式,被动模式还是无法访问),也上传不了,因为selinux作怪了。

修改selinux:

执行以下命令查看状态:

[root@localhost ~]# getsebool -a | grep ftp 

PS:我的是修改过后的,可能和你的不一样。

执行上面命令,再返回的结果看到两行都是off,代表,没有开启外网的访问

[root@localhost ~]# setsebool -P allow_ftpd_full_access on

[root@localhost ~]# setsebool -P tftp_home_dir on

 

FileZilla 测试,发现能成功登陆,但是目录读取不了,我们更换一下传输模式。

FileZilla的主动、被动模式修改:

菜单:编辑→设置

 

6、关闭匿名访问

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

修改/etc/vsftpd/vsftpd.conf文件:

保存:wq,然后回车退出。

[root@localhost ~]# service vsftpd restart

 

7、开启被动模式

默认是开启的,但是要指定一个端口范围,打开vsftpd.conf文件,在后面加上

pasv_min_port=30000

pasv_max_port=30999

表示端口范围为30000~30999,这个可以随意改。改完重启一下vsftpd。

 

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

[root@localhost ~]# service vsftpd restart

 

由于指定这段端口范围,firewall也要把响应的端口打开。

[root@localhost ~]# firewall-cmd --zone=public --add-port=30000-30999/tcp --permanent
[root@localhost ~]# firewall-cmd --reload

查看:

[root@localhost ~]# firewall-cmd --list-ports
发现有30000-30999/tcp就搞定了。

 

8、设置开机启动vsftpd ftp服务

[root@localhost ~]# chkconfig vsftpd on

 

 

9、测试

a. FileZilla

将FileZilla的FTP传输模式更改为被动模式,然后连接,发现可以进去了。

b.浏览器

地址栏输入:ftp://服务器地址

在之后的弹出框中输入你的账户和密码。

c.Java程序

创建程序,ftp需要依赖commons-net-3.3.jar包

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;

public class TestFTP {

	public static void main(String[] args) throws Exception, IOException {
		FTPClient ftpClient = new FTPClient();
		ftpClient.connect("192.168.195.138");
		ftpClient.login("ftpuser", "123456");
		FileInputStream inputStream = new FileInputStream(new File("E:\\taotao\\21.jpg"));
                //指定上传目录
		//ftpClient.changeWorkingDirectory("/home/ftpuser/images/");
		ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
		ftpClient.storeFile("123.jpg",inputStream);
		inputStream.close();
		
		if(ftpClient.logout()){
			System.out.println("成功!");
		}else{
			System.out.println("失败!");
		}
	
	}

}

控制台打印成功之后,查看我们的服务器,会发现123.jpg这张图片。

 

 

  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

良月柒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值