java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 1 : ftp做什么用

接下来就要在Linux上安装ftp服务器了。 ftp的全称是 File Transfer Protocol : 文件传输协议。 
顾名思义,ftp就是用来我们把本地的文件传输到服务器上,或者从服务器上下载文件用的。
接下来的章节就会讲解如何在linux 上安装ftp服务器

步骤 2 : 安装服务器相关内容

Linux上的ftp服务器有各种型号,我们会使用vsftpd,全称是:very secure FTP daemon 非常安全的ftp后台程序。。。

为了使得这个服务器可以使用还要做许多配合工作,比如创建用户,配置端口,开放端口等等活计,后面会一一展开

 

部署到Linux系列教材 (二)- FTP - 安装

步骤 1 : 介绍vsftpd

vsftpd 全称是:very secure FTP daemon 非常安全的ftp后台程序,及ftp 服务端

步骤 2 : 安装命令

yum install vsftpd -y


执行之后,最后看到Complete! 就表示安装成功了

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 3 : 查看服务启动状态

执行命令:

systemctl start vsftpd.service

systemctl status vsftpd.service



第一步是用来启动vsftpd服务,不一定需要,因为 安装命令 结束后就会自动启动,但是有时候不会自动启动,所以还是加上吧

可以看到最后 Started vsftpd ftp daemon 已经启动成功了
注: 在以前版本的Centos 是使用 service vsftpd status 来进行查看的,但是Centos 7 之后的版本,就已经改用命令systemctl 来查看了。 在购买ECS服务器-镜像 部分,选择的是Centos 7.4 64位

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 4 : 关闭和启动

一般说来关闭,启动,查看状态几个功能会如图所示一起执行,这样便于查看重启是否成功

systemctl stop vsftpd.service

systemctl start vsftpd.service

systemctl status vsftpd.service

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 5 : 检查端口

ftp服务启动的是21端口,使用如下命令应该观察到21端口正在处于监听状态,这也从侧面反应了ftp服务器启动成功了

netstat -anp|grep 21

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

部署到Linux系列教材 (三)- FTP - ftp用户

 

步骤 1 : 用户概念

要连接上 vsftpd 服务器需要为Linux创建专门的用户。 接下来就会讲解如何创建这个用户

步骤 2 : 用户目录

在Linux中,不同用户是有不同目录访问权限的,所以首先创建一个目录,作为这个ftp用户所拥有的目录。

mkdir -p /home/wwwroot/ftptest

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 3 : 创建用户

执行如下命令,创建用户ftptest,并且指定其目录为用户目录中创建的/home/wwwroot/ftptest 

useradd -d /home/wwwroot/ftptest -g ftp -s /sbin/nologin ftptest


-g ftp 表示该用户属于ftp分组 (ftp分组是内置的,本来就存在,不需要自己创建)
-s /sbin/nologin 表示这个用户不能用来登录secureCRT这样的客户端。 这种不能登陆的用户又叫做虚拟用户
创建过程给出的警告信息是正常的,不用理会

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 4 : 设置目录权限

chown -R ftptest /home/wwwroot/ftptest

chmod -R 775 /home/wwwroot/ftptest


把目录/home/wwwroot/ftptest的拥有者设置为ftptest
使ftptest用户拥有这个目录的读写权限

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 5 : 设置密码

为ftptest用户设置密码:

passwd ftptest


密码修改成功后会如图所示出现成功提示。
注: 密码使用 paw123###,后续连接ftp服务器的时候会用到

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

部署到Linux系列教材 (四)- FTP - 配置用户

 

步骤 1 : 配置用户

通过上一步创建了 ftp用户 接下来就要在vsftpd服务器中配置该用户

步骤 2 : 去掉匿名登陆

默认情况下vsftpd服务器是允许匿名登陆的,这样非常不安全,所以要把这个选项关闭掉。
首先通过vi命令打开ftp服务器配置文件:

vi /etc/vsftpd/vsftpd.conf


然后把本来的

anonymous_enable=YES


修改为

anonymous_enable=NO



修改完成之后,保存退出。
对使用vi命令打开,编辑,保存不熟悉的同学请参考前面的教程:VI命令

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 3 : 限制用户访问

接下来是限制用户访问,什么叫做限制用户访问呢? ftp用户 教程中创建的ftptest用户所拥有的目录是 /home/wwwroot/ftptest,如果不做限制,那么使用ftptest登陆之后可以切换到其他敏感目录去,比如切换到/usr目录去,这样就存在巨大的安全隐患。 
为了规避这个隐患,需要限制ftptest用户只能通过ftp访问到 /home/wwwroot/ftptest 目录以及子目录。
配置办法:
首先通过vi命令打开ftp服务器配置文件:

vi /etc/vsftpd/vsftpd.conf


找到:

#chroot_list_enable=YES

# (default follows)

#chroot_list_file=/etc/vsftpd.chroot_list


并修改为:

chroot_list_enable=YES

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list



chroot_list_enable=YES: 表示对用户访问进行限制
chroot_list_file=/etc/vsftpd/chroot_list 表示对chroot_list里面指定的用户进行限制 下一个步骤用户清单就会对chroot_list 这个文件进行编辑

修改完成之后,保存退出。
对使用vi命令打开,编辑,保存不熟悉的同学请参考前面的教程:VI命令

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 4 : 用户清单

接着上一个步骤,在chroot_list中添加ftptest用户

首先通过vi命令打开chroot_list文件(此文件本来是空的):

vi /etc/vsftpd/chroot_list



然后增加一行: ftptest

修改完成之后,保存退出。
对使用vi命令打开,编辑,保存不熟悉的同学请参考前面的教程:VI命令

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 5 : 允许写权限

vsftpd服务器是这样的,一旦某个用户被限制访问了,那么默认情况下,该用户的写权限也被剥夺了。 这就导致ftp客户端连接上服务器之后无法上传文件。
这个时候,就需要打开此用户的写权限,请按照如下办法操作:
首先通过vi命令打开ftp服务器配置文件:

vi /etc/vsftpd/vsftpd.conf


在最后面新加一行:

allow_writeable_chroot=YES


修改完成之后,保存退出。
对使用vi命令打开,编辑,保存不熟悉的同学请参考前面的教程:VI命令

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

部署到Linux系列教材 (五)- FTP - 配置端口

 

步骤 1 : 两种端口

vsftpd有两种端口,一个是21端口,用来监听客户端连接请求的。 这个一般说来是固定的,就一直使用21端口。
另一种是,一旦获取到请求之后,再专门用户服务端和客户端传输数据的端口。 
本知识点就是用于指定第二种端口的获取范围

步骤 2 : 配置端口

打开配置文件:

vi /etc/vsftpd/vsftpd.conf


在最后添加:

pasv_enable=YES

pasv_min_port=30000

pasv_max_port=30010


这表示使用被动模式,用于传输数据的端口分配从30000-30010之间。
在后续的Linux开放端口教程中也会做相应的配合工作。

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

部署到Linux系列教材 (六)- FTP - 开放端口

 

步骤 1 : 端口概念

要访问Linux的端口,必须开通才行。

在购买ECS服务器-网络步骤里,只开通了22和3389端口。
22就是SecureCRT链接Linux服务器用的端口号。
3389 是阿里云控制台链接用的端口,这里没有用到。

只有这两个端口号是不够用的,为了能够链接vsftpd服务器还需要开放21端口和 30000-30010端口

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 2 : 安全组

既然用的是阿里云,那么我们就借助阿里云的安全组操作来实现端口的开放效果。
登陆阿里云后,按照如下顺序选择:云服务器ECS->安全组->配置规则

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 3 : 当前安全组规则一览

目前安全组规则是3个,分别是22,3389和ICMP协议。(ICMP是什么?我也不晓得。。。反正本教材没有直接用到~)
然后点下载区(点击进入)的 添加安全组规则

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 4 : 添加21端口

如图所示只需要修改两个:
端口范围: 21/21 表示从21开始,到21结束
授权对象: 0.0.0.0/0 表示所有的ip地址都可以访问该端口

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 5 : 添加30000-30010端口

如图所示只需要修改两个:
端口范围: 30000/30010 表示从30000开始,到30010结束
授权对象: 0.0.0.0/0 表示所有的ip地址都可以访问该端口

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 6 : 添加后安全组规则一览

如图所示,增加了两个新的规则

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

部署到Linux系列教材 (七)- FTP - ftp客户端

 

步骤 1 : 上传

步骤 2 : ftprush

ftp客户端有各种各样的版本,我个人习惯使用ftprush. 下载区(点击进入)下载解压即用。
打开ftprush.exe之后看到如图所示的界面

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 3 : 连接

菜单->站点->快速连接对话框
主机地址:输入服务器地址
用户名: ftptest
密码: paw123###
以上信息使用的是ftp用户教程中的账号密码

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 4 : 连接成功界面

连接成功之后,就可以看到如图所示
左边是服务端: /home/wwwroot/ftptest 里的内容,暂时什么都没有
右边是本地: 一些文件

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 5 : 上传和下载

把右边的内容拖到左边,就是上传。。。。
把左边的内容拖到右边,就是下载。。。
如图所示把abc.txt 上传到了服务器

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)

步骤 6 : 到Linux下观察

进入Linux,然后输入命令

ls /home/wwwroot/ftptest/


就可以观察到abc.txt 这个文件,确认上传成功啦

java项目如何部署服务器-----如何传输文件到阿里云服务器(三)



上一篇:Linux下FTP虚拟账号环境部署记录 (vsftpd)


下一篇:Vsftpd的部署及优化