安装vsftpd: 以下是基于 CentOS 系统配置 vsftpd FTP 服务的详细指南:
一、安装 vsftpd 安装软件包 使用以下命令安装 vsftpd: bash Copy Code sudo yum install vsftpd -y 安装完成后,启动服务并设置开机自启: bash Copy Code sudo systemctl start vsftpd sudo systemctl enable vsftpd 35 二、配置防火墙 开放 FTP 端口 默认 FTP 使用 20、21 端口,若启用被动模式需额外开放端口范围:
bash Copy Code sudo firewall-cmd --permanent --add-port=20-21/tcp sudo firewall-cmd --permanent --add-port=30000-31000/tcp # 被动模式端口范围 sudo firewall-cmd --reload 38
调整 SELinux 策略(可选) 若需启用本地用户上传权限,需调整 SELinux 策略:
bash Copy Code sudo setsebool -P ftpd_full_access on 34
三、配置文件修改 备份原始配置
bash Copy Code sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak 编辑主配置文件 修改 /etc/vsftpd/vsftpd.conf,确保以下关键参数:
ini Copy Code anonymous_enable=NO # 禁止匿名登录 local_enable=YES # 允许本地用户登录 write_enable=YES # 允许写入操作 local_umask=022 # 上传文件权限掩码 chroot_local_user=YES # 限制用户至主目录 allow_writeable_chroot=YES # 允许可写主目录 pasv_enable=YES # 启用被动模式 pasv_min_port=30000 # 被动模式端口范围下限 pasv_max_port=31000 # 被动模式端口范围上限 23
四、用户配置 创建 FTP 专用用户
bash Copy Code sudo useradd -d /var/ftp -s /sbin/nologin ftpuser sudo passwd ftpuser sudo chmod 755 /var/ftp sudo mkdir -p /var/ftp/upload sudo chown ftpuser:ftpuser /var/ftp/upload 47
虚拟用户配置(可选) 如需使用虚拟用户:
bash Copy Code
sudo db_load -T -t hash -f /etc/vsftpd/virtual-users.txt /etc/vsftpd/virtual-users.db
sudo vi /etc/pam.d/vsftpd.vu # 添加 auth 和 account 规则 4
五、重启服务并验证 重启 vsftpd bash Copy Code sudo systemctl restart vsftpd 测试连接 使用 FTP 客户端(如 FileZilla)或命令行测试:
安装vsftpd:
以下是基于 CentOS 系统配置 vsftpd FTP 服务的详细指南:
一、安装 vsftpd
安装软件包
使用以下命令安装 vsftpd:
bash
Copy Code
sudo yum install vsftpd -y
安装完成后,启动服务并设置开机自启:
bash
Copy Code
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
35
二、配置防火墙
开放 FTP 端口
默认 FTP 使用 20、21 端口,若启用被动模式需额外开放端口范围:
bash
Copy Code
sudo firewall-cmd --permanent --add-port=20-21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp # 被动模式端口范围
sudo firewall-cmd --reload
38
调整 SELinux 策略(可选)
若需启用本地用户上传权限,需调整 SELinux 策略:
bash
Copy Code
sudo setsebool -P ftpd_full_access on
34
三、配置文件修改
备份原始配置
bash
Copy Code
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
编辑主配置文件
修改 /etc/vsftpd/vsftpd.conf,确保以下关键参数:
ini
Copy Code
anonymous_enable=NO # 禁止匿名登录
local_enable=YES # 允许本地用户登录
write_enable=YES # 允许写入操作
local_umask=022 # 上传文件权限掩码
chroot_local_user=YES # 限制用户至主目录
allow_writeable_chroot=YES # 允许可写主目录
pasv_enable=YES # 启用被动模式
pasv_min_port=30000 # 被动模式端口范围下限
pasv_max_port=31000 # 被动模式端口范围上限
23
四、用户配置
创建 FTP 专用用户
bash
Copy Code
sudo useradd -d /var/ftp -s /sbin/nologin ftpuser
sudo passwd ftpuser
sudo chmod 755 /var/ftp
sudo mkdir -p /var/ftp/upload
sudo chown ftpuser:ftpuser /var/ftp/upload
47
虚拟用户配置(可选)
如需使用虚拟用户:
bash
Copy Code
创建虚拟用户数据库
sudo db_load -T -t hash -f /etc/vsftpd/virtual-users.txt /etc/vsftpd/virtual-users.db
配置 PAM 认证
sudo vi /etc/pam.d/vsftpd.vu # 添加 auth 和 account 规则
4
五、重启服务并验证
重启 vsftpd
bash
Copy Code
sudo systemctl restart vsftpd
测试连接
使用 FTP 客户端(如 FileZilla)或命令行测试: