CentOS 7.2搭建ftp服务

ftp服务简介

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

认证方式

匿名开放模式:任何人无需密码直接登录ftp服务器上

本地用户模式:使用系统本地使用的用户名密码登录ftp服务器

虚拟用户模式:需要ftp服务器建立单独的用户数据库文件,使用虚拟出来的用户信息来进行认证。

CentOS 7 搭建ftp服务器

一、准备工作

关闭selinux
关闭系统防火墙(firewalld)
配置网络
配置本地yum 源

二、通过yum安装vsftpd

yum install -y vsftpd ftp

三、编辑vsftpd的主要配置程序

vsftpd主要配置程序简介

vsftpd的主要配置程序有123行,但是大部分都被注释,没有被注释的参数如下

anonymous_enable=YES   #是否以匿名方式访问
local_enable=YES       #是否允许本地用户登录ftp
write_enable=YES       #是否允许写入
local_umask=022		   #本地用户上传文件的umask值
dirmessage_enable=YES  
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO        #是否以独立运行的方式监听服务
listen_ipv6=YES  #监听ipv6地址
pam_service_name=vsftpd   #指定PAM的配置文件为vsftpd
userlist_enable=YES		#只允许userlist文件中的账号登录
tcp_wrappers=YES
匿名开放模式

安装完vsftpd之后ftp的匿名开放模式默认打开,只用修改配置文件来控制ftp服务器上传,下载,删除等权限。
部分参数:

anonymous_enable=YES            允许匿名访问模式
anon_umask=022                        匿名用户上传文件的umask值
anon_upload_enablemYES         允许匿名用户上传文件
anon_mkdir_write_enable=YES  允许匿名用户创建目录
anon_other_write_enable=YES   允许匿名用户修改目录名称或删除目录

将配置写入配置文件之后重启vsftpod

[ rootelinuxprobe ~]# systemctl restart vsftpd
[ rootelinuxprobe ~]# systemctl enable vsftpd
1ns'/usr/1ib/systemd/system/vsftpd.service''/etc/systemd/system/multi-user.target. wants/vsftpd. service

现在就可以在客户端执行ftp命令连接到远程的FTP服务器了。在vsftpd服务程序的匿名开放认证模式下,其账户统一为anonymous,密码为空。而且在连接到FTP服务器后,默认访问的是/var/ftp目录。我们可以切换到该目录下的pub目录中,然后尝试创建一个新的目录文件,以检验是否拥有权限。

本地用户模式

将配置文件中允许匿名方式访问关闭。
配置部分参数

anonymous_enable=No 禁止匿名访问模式
1ocal_enable=YES    允许本地用户模式
write_enable=YES    设置可写权限
1ocal_umask=022     本地用户模式创建文件的umask值
userlist_enable=YEs 启用“禁止用户名单”,名单文件为ftpusers和user_list user1ist_deny=YES   开启用户作用名单文件功能

将配置写入配置文件之后重启vsftpod

[ rootelinuxprobe ~]# systemctl restart vsftpd
[ rootelinuxprobe ~]# systemctl enable vsftpd
1ns'/usr/1ib/systemd/system/vsftpd.service''/etc/systemd/system/multi-user.target. wants/vsftpd. service