CentOS 领域中的 FTP 配置与管理
CentOS 中的 FTP 简介

FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议,在 CentOS 操作系统中,FTP 服务可以用于用户之间的文件共享和数据传输,本文将详细介绍 CentOS 中 FTP 的配置与管理。
CentOS 安装 FTP 服务
安装 vsftpd
CentOS 默认不包含 FTP 服务,但我们可以通过安装 vsftpd 来提供 FTP 服务,以下是在 CentOS 上安装 vsftpd 的步骤:
# 安装 vsftpd sudo yum install vsftpd
启动 vsftpd 服务
安装完成后,启动 vsftpd 服务:
# 启动 vsftpd 服务 sudo systemctl start vsftpd
设置 vsftpd 服务开机自启
# 设置 vsftpd 服务开机自启 sudo systemctl enable vsftpd
配置 FTP 用户权限
创建 FTP 用户
为了使用 FTP 服务,我们需要创建一个用户,以下是在 CentOS 上创建 FTP 用户的步骤:

# 创建 FTP 用户 sudo useradd -m ftpuser
设置用户密码
# 设置用户密码 sudo passwd ftpuser
设置用户权限
默认情况下,FTP 用户只能访问其主目录,如果需要更改权限,可以修改 /etc/vsftpd/user_conf.d/ftpuser 文件,如下所示:
# 修改 ftpuser 的权限 local_root=/path/to/ftp/directory write_enable=YES
FTP 配置文件解析
/etc/vsftpd/vsftpd.conf
这是 vsftpd 的主要配置文件,包含了服务器的全局设置,以下是一些常用的配置选项:
| 配置选项 | 说明 |
|---|---|
| anonymous_enable=YES | 允许匿名用户登录 |
| local_enable=YES | 允许本地用户登录 |
| write_enable=YES | 允许用户上传文件 |
| chroot_local_user=YES | 将用户限制在其主目录下,防止用户访问其他目录 |
| allow_writeable_chroot=YES | 允许用户在主目录下上传文件 |
| userlist_enable=YES | 启用用户列表文件 |
/etc/vsftpd/user_conf.d/用户名
这是针对特定用户的配置文件,可以覆盖 /etc/vsftpd/vsftpd.conf 中的设置。
安全增强
限制 IP 地址
在 /etc/vsftpd/vsftpd.conf 文件中,添加以下配置:
allow_ip=192.168.1.0/24
使用 SSL/TLS 加密

为了提高安全性,可以使用 SSL/TLS 加密 FTP 通信,以下是使用 stunnel 加密 FTP 通信的步骤:
# 安装 stunnel sudo yum install stunnel # 配置 stunnel sudo vi /etc/stunnel/stunnel.conf
在配置文件中添加以下内容:
[vsftpd]
accept = 127.0.0.1:21
connect = 192.168.1.100:21 重启 stunnel 服务:
# 重启 stunnel 服务 sudo systemctl restart stunnel
FAQs
Q1:如何查看 FTP 服务器的连接状态?
A1:可以使用 vsftpd 命令查看连接状态:
# 查看连接状态 sudo vsftpd --list
Q2:如何限制 FTP 用户只能访问特定目录?
A2:在 /etc/vsftpd/user_conf.d/用户名 文件中设置 local_root 选项,指定用户的主目录,如下所示:
# 设置用户的主目录 local_root=/path/to/specific/directory

