FTP 服务器简介
FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于 Internet 上的控制文件的双向传输。同时,它也是一个应用程序(Application)。 基于不同的操作系统有不同的 FTP 应用程序,而所有这些应用程序都遵守同一种协议以传输文件。
在 FTP 的使用当中,用户经常遇到两个概念:“下载”(Download)和"上传"(Upload)。
什么是vsftpd
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、HP-UNIX 等系统上面,是一个完全免费的、开放源代码的 ftp 服务器软件,支持很多其他的FTP 服务器所不支持的特征。
安装vsftpd
(1). 首先需要在服务端主机用yum命令安装 vsftpd :
如下安装成功:
(2). 开启vsftpd服务,并设置为开机自启
(3). 关闭firewalld防火墙服务,并设置为开机不启动
(4). 在客户端主机安装lftp服务
安装成功之后使用lftp命令连接服务端主机ip地址,如下:
vsftpd服务的配置参数
客户端访问时, 用户身份可以分为以下三种:
(1). 匿名用户:没有指定用户身份, 默认以ftp身份实现从服务器上传和下载文件;
(2). 本地用户: -u指定用户身份,用户是服务器端的用户;
(3). 虚拟用户: -u指定用户身份,但是服务器端并不存在该用户(id username)
vsftpd服务有两个重要的目录,一个是默认发布目录:/var/ftp;另一个是配置目录:/etc/vsftpd
其中 /etc/vsftpd/vsftpd.conf 文件是 vsftp 的配置文件,修改相应的配置参数可以达到不同的目的。
下面我们就针对三种不同身份的用户进行相应的配置参数设定以及对应的效果测试。
1. 匿名用户相关参数设定
(1). 匿名用户登录限制参数
anonymous_enable=YES | NO
该参数默认设定为YES,当参数设定为NO时,将禁止匿名用户登录。进入到配置文件中:
vim /etc/vsftpd/vsftpd.conf
进入文件中后编辑以下内容:
然后wq保存退出,一定要记得重启vsftpd服务。
systemctl restart vsftpd
然后客户端连接测试:
(2). 匿名用户上传参数设定
通过设置以下参数可以让匿名用户在公共目录中上传文件:
write_enable=YES
anon_upload_enable=YES
配置文件参数默认如下:
在配置文件中修改以上参数如下:
另外根据提示还需要将SElinux的强制模式修改为宽容模式Permissive,具体的SElinux设定后面文章会详细介绍,修改如下:
然后需要我们在 /var/ftp/目录下创建一个可供上传的公共目录:
<