CentOS 7 安装配置 Vsftpd
https://blog.imzhengfei.com/centos-an-zhuang-pei-zhi-vsftpd/
vsftpd 是“very secure FTP daemon”的缩写,是一款在Linux发行版中最受推崇的 FTP 服务器程序。特点是小巧轻快,安全易用。支持很多其他的 FTP 服务器所不支持的特征,比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
安装 Vsftpd
安装 Vsftpd
更新 yum 源
检查是否已安装:
如果无,则安装:
如果有,则更新:
查看版本信息:
vsftpd: version 3.0.2
启动 vsftpd 服务:
设置开机启动:
安装依赖工具
安装 Berkeley DB,用于生成虚拟用户数据 db 文件:
安装 PAM,用于用户认证:
配置 Vsftpd
核心配置
备份默认的配置文件:
重新创建配置文件:
添加配置信息**(注意等号两边不能有空格)**:
注意:guest_username
一般填写目录所有者,一般为 root 或者 www、ftp 等。
虚拟用户权限配置
备份 user_list
(允许访问 FTP 的用户名单):
重新创建 user_list
文件并添加允许访问的 FTP 用户名(一行一个):
创建 chroot_list
文件:
如果有允许访问上级目录的用户,在该文件中添加用户名(一行一个)。
虚拟用户独立配置
新建虚拟用户独立配置路径文件夹:
添加虚拟用户独立配置(文件名为用户名):
写入该用户的独立配置:
注意: local_root
为 FTP 用户根目录。
日志文件
创建日志文件:
设置文件权限:
重启 Vsftpd:
虚拟用户认证
生成用户认证文件
添加虚拟用户认证文件:
在文件中添加虚拟用户名和密码,奇数行用户名,偶数行密码:
生成虚拟用户认证文件**(每次修改虚拟用户密码均需重新生成一次)**:
如果出现以下错误:
db_load: unexpected end of input data or key/data pair、db_load: odd number of key/data pairs
请在 /etc/vsftpd/vsftpd_vuser
最后添加一行空行,再尝试生成用户认证文件。
设置文件权限,只有 root 用户可以读写:
配置 PAM
备份 vsftpd 的 PAM 认证文件:
重新创建 PAM 文件:
添加配置:
64 位系统再在下面添加以下两行
防火墙设置
查看 ftp 服务是否已经永久启用:
如果没有,则启用 ftp 服务:
给 ftp 服务添加 vsftpd 命令传输端口和被动模式端口:
查看下次重启(防火墙重新加载、服务器重启或者系统重启)之后永久生效的服务:
ssh http ftp
查看下次重启(防火墙重新加载、服务器重启或者系统重启)之后永久生效的 ftp 服务的信息:
ftp
ports: 21/tcp 20/tcp 8000-8100/tcp
protocols:
source-ports:
modules: ftp
destination:
重新加载防火墙规则:
注意: 阿里云主机需要在安全组规则中添加入方向的 20/tcp, 21/tcp, 8000-8100/tcp
端口。
FTP 客户端
推荐使用免费开源的全平台支持的 FileZilla:FileZilla 官方下载
添加站点信息,常规配置即可:
- 主机:填写主机 IP
- 端口:如果没改过端口不需填写
- 协议:FTP - 文件传输协议
- 加密:只使用普通的 FTP
- 登录类型:正常
- 用户:test
- 密码:test123
高级配置:
- 默认本地目录:选择电脑上面需要和服务器上面传输文件的路径
- 默认远程目录:一般情况下是根目录,就填写
/
- 同步浏览:开启后在两边界面切换目录时会同步切换,只有一边有的目录会提示是否下载或上传
- 比较浏览:会高亮显示两边不同的文件或目录,对齐显示都有的文件或目录