第一步:安装vsftpd服务器软件
第二步:打开服务查看端口
可见ftp的端口是21,这一步是对于你不知道ftp端口是几的时候可以用,在后续配置安全组的时候也会用到端口号,如果你知道,这一步可以不做
补充:
命令通道ftp:默认端口为 port 21, 用于传输控制流
数据通道ftp-data: 默认端口为port 20, 用于在客户端和服务器之间传输数据流
第三步:设置ftp为开机自启
systemctl disable vsftpd 停止开机自启动
第四步:创建ftp根目录和进行相关配置
进入vsftp配置文件夹,记住重要文件配置前要备份
vim进入vsftpd.conf文件内,接下来将要详细讲解一下ftp的配置文件
ftp的默认配置
名字 | 值 | 说明 |
anonymous_enable | YES/NO | 允许/不允许匿名用户访问 |
local_enable | YES/NO | 允许/不允许本地用户访问 |
write_enable | YES/NO | 允许/不允许用户上传数据 |
local_umask | 022 | 本地用户上传文件权限 |
dirmessage_enable | YES/NO | 定义/不定义登录目录时显示提示信息 |
xferlog_enable | YES/NO | 使用者上传与下载文件会/不会被纪录到日志文件中 |
connect_from_port_20 | YES/NO | 表示允许/不允许ftp数据通道使用端口20进行数据传输 |
xferlog_std_format | YES/NO | 设置日志文件是否使用标准的xferlog日志文件格式 |
listen | YES/NO | 设置vsftpd是否启动模式为stand alone |
pam_service_name | vsftpd | 定义pam认证模块为vsftpd |
userlist_enable | YES/NO | 定义/不定义系统用户访问vsftpd黑名单 |
tcp_wrappers | YES/NO | 支持/不支持wrapper防火墙机制 |
补充:vsftp相关文件,可以使用rpm -ql vsftpd进行查看相关套件
其中主要的有
/etc/pam.d/vsftpd vsftpd 使用PAM模块时的配置文件,主要做认证功能
/etc/rc.d/init.d/vsftpd vsftod 服务启动脚本文件
/etc/vsftpd/ftpusers 用户登录黑名单,拒绝ftpusers列表内的用户登录vsftpd,一行一个账号
/etc/vsftpd/user_list
这个配置是否能够生效与 vsftpd.conf 内的参数 userlist_enable, userlist_deny 有关
默认为用户登录黑名单,拒绝user_list列表内的用户登录vsftpd,一行一个账号
/etc/vsftpd/vsftpd.conf vsftpd 服务器的主配置文件,配置格式使用 [参数=设定值] 来设定,注意,等号两边不能有空白
/usr/sbin/vsftpd vsftpd命令执行脚本文件
/var/ftp 匿名用户访问根目录
/etc/vsftpd/ftpusers vsftpd 服务器登陆用户黑名单,限制用户登陆vsftpd,每行一个用户名
/etc/vsftpd/chroot_list
该目录是不存在的,须要手动建立。主要功能是限制列表中的账号 chroot 在它们的家目录下。
但这个文件生效与 vsftpd.conf 内的 chroot_list_enable, chroot_list_file 两个参数有关
配置
下面是一个完整的配置
chroot_list里面的配置
(chroot_list文件和user_list文件将在下一步中提到,这里只是展示一下)
给大家推荐一个博客,里面讲解配置项比较详细centos7 vsftp配置
第五步:创建用户
先在/etc/vsftpd/下创建 chroot_list文件加入用户名,该文件就是允许那些用户访问的文件
到/etc/vsftp/user_list添加可以登陆的用户(当userlist_deny=NO时)
创建用户
在hiee和kinghiee中随意创建两个文件,目的是为了当访问的时候可以看到文件,表示试验成功
设置密码
修改文件夹的权限
第六步:开放防火墙
cd /etc/firewalld/zone/
最后重启
第七步:配置安全组
第八步:验证