欢迎光临千百叶网
详情描述

vsftpd(Very Secure FTP Daemon)。以下是完整流程:

一、安装vsftpd

# 1. 更新系统包
sudo yum update -y

# 2. 安装vsftpd
sudo yum install vsftpd -y

# 3. 启动服务并设置开机自启
sudo systemctl start vsftpd
sudo systemctl enable vsftpd

# 4. 检查服务状态
sudo systemctl status vsftpd

二、配置vsftpd

1. 备份原始配置文件

sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

2. 编辑配置文件(使用vim或nano)

sudo vim /etc/vsftpd/vsftpd.conf

3. 关键配置项(按需求修改)

# 匿名访问设置
anonymous_enable=NO          # 禁止匿名登录

# 本地用户设置
local_enable=YES             # 允许本地用户登录
write_enable=YES             # 允许写入操作
local_umask=022              # 文件权限掩码

# 目录限制
chroot_local_user=YES        # 将用户限制在其主目录
allow_writeable_chroot=YES   # 允许chroot目录可写

# 日志设置
xferlog_enable=YES           # 启用传输日志
xferlog_file=/var/log/vsftpd.log

# 端口设置
listen=YES                   # 以独立模式运行
listen_ipv6=NO               # 禁用IPv6

# 连接限制
max_clients=50               # 最大连接数
max_per_ip=5                 # 每IP最大连接数

# 被动模式设置(重要)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的服务器公网IP   # 需修改为实际IP

三、创建FTP用户

方法A:使用系统用户(简单)

# 1. 创建用户并设置主目录
sudo useradd -m -d /home/ftpuser -s /sbin/nologin ftpuser

# 2. 设置密码
sudo passwd ftpuser

# 3. 设置目录权限
sudo chmod 750 /home/ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser

方法B:虚拟用户(更安全)

# 1. 创建数据库文件
sudo sh -c 'echo "ftpuser" > /etc/vsftpd/virtual_users.txt'
sudo sh -c 'echo "password123" >> /etc/vsftpd/virtual_users.txt'

# 2. 生成数据库
sudo db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db

# 3. 修改权限
sudo chmod 600 /etc/vsftpd/virtual_users.*

# 4. 创建PAM配置文件
sudo cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
sudo vim /etc/pam.d/vsftpd

添加以下内容:

auth required pam_userdb.so db=/etc/vsftpd/virtual_users
account required pam_userdb.so db=/etc/vsftpd/virtual_users

四、防火墙配置

# 1. 开放FTP端口(如果使用firewalld)
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
sudo firewall-cmd --reload

# 2. 如果使用iptables
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT
service iptables save

五、SELinux配置(CentOS 7/8需要)

# 1. 查看SELinux状态
getenforce

# 2. 临时关闭(不推荐)
sudo setenforce 0

# 3. 正确配置SELinux
# 允许FTP访问用户主目录
sudo setsebool -P ftp_home_dir 1

# 允许vsftpd读写文件
sudo setsebool -P allow_ftpd_full_access 1

# 查看相关设置
getsebool -a | grep ftp

六、测试连接

1. 重启服务

sudo systemctl restart vsftpd

2. 本地测试

# 安装ftp客户端
sudo yum install ftp -y

# 测试连接
ftp localhost
# 输入用户名和密码

3. 使用FileZilla等客户端测试

  • 主机:服务器IP
  • 端口:21
  • 协议:FTP
  • 加密:普通FTP(不推荐)或FTPS
  • 传输模式:主动或被动

七、安全加固建议

1. 使用FTPS(FTP over SSL)

# 生成SSL证书
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout /etc/vsftpd/vsftpd.pem \
  -out /etc/vsftpd/vsftpd.pem

# 在vsftpd.conf中添加
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem

2. 用户访问限制

# 在配置文件中添加
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO    # 仅允许列表中的用户

3. 创建用户列表

sudo echo "ftpuser" >> /etc/vsftpd/user_list

八、常用管理命令

# 查看日志
sudo tail -f /var/log/vsftpd.log

# 重新加载配置
sudo systemctl reload vsftpd

# 查看连接状态
sudo netstat -tulpn | grep ftp

# 限制用户带宽(在配置文件中)
anon_max_rate=512000    # 匿名用户500KB/s
local_max_rate=1024000  # 本地用户1MB/s

九、故障排除

连接被拒绝

  • 检查防火墙:sudo firewall-cmd --list-all
  • 检查服务状态:sudo systemctl status vsftpd

无法上传文件

  • 检查目录权限:ls -ld /home/ftpuser
  • 检查SELinux:getsebool -a | grep ftp

被动模式失败

  • 确保配置了正确的pasv_address
  • 防火墙开放30000-31000端口

十、替代方案考虑

如果安全性要求高,建议考虑:

  • SFTP(基于SSH):sftp user@host
  • FTP over SSH:更安全
  • WebDAV:基于HTTP协议

完成上述步骤后,FTP服务即可正常运行。建议初次使用后立即测试并配置适当的安全策略。

相关帖子
梧州市写字楼抵押贷款@正规贷款公司-公司经营贷款
梧州市写字楼抵押贷款@正规贷款公司-公司经营贷款
如何根据自身通勤距离和路况,在2026年选择合适的新国标车型?
如何根据自身通勤距离和路况,在2026年选择合适的新国标车型?
关于农田补贴政策的官方咨询渠道与联系方式是什么?
关于农田补贴政策的官方咨询渠道与联系方式是什么?
梧州市房屋二次抵押贷款%车辆抵押业主急用钱应急贷款,小额贷款
梧州市房屋二次抵押贷款%车辆抵押业主急用钱应急贷款,小额贷款
全球耕地面积减少,中国经验能为世界提供哪些借鉴?
全球耕地面积减少,中国经验能为世界提供哪些借鉴?
昆明市房本抵押应急贷款%车辆抵押应急贷款,应急信用贷款
昆明市房本抵押应急贷款%车辆抵押应急贷款,应急信用贷款
延安市过桥垫资贷款公司@不押车借款,别墅抵押银行贷款
延安市过桥垫资贷款公司@不押车借款,别墅抵押银行贷款
哈尔滨市道里区二手房抵押贷款&房子银行抵押贷款,个人信用贷款
哈尔滨市道里区二手房抵押贷款&房子银行抵押贷款,个人信用贷款
荆州市洪湖市全款车抵押贷款%车辆抵押贷款利率低,小额信用贷款
荆州市洪湖市全款车抵押贷款%车辆抵押贷款利率低,小额信用贷款
茂名市个体户房子抵押贷款@房子抵押贷款银行办理-公司应急贷款
茂名市个体户房子抵押贷款@房子抵押贷款银行办理-公司应急贷款
濮阳市南乐县全款房抵押贷款代办-房产抵押贷款平台,个人小额信用贷款
濮阳市南乐县全款房抵押贷款代办-房产抵押贷款平台,个人小额信用贷款
延安市汽车抵押公司经营大额贷款@无抵押贷款|个体工商户消费贷款
延安市汽车抵押公司经营大额贷款@无抵押贷款|个体工商户消费贷款
钦州市按揭车贷款@汽车抵押贷款办理押绿本,应急贷款公司
钦州市按揭车贷款@汽车抵押贷款办理押绿本,应急贷款公司
赤水市住房二押银行贷款&私家车子抵押个人急用钱应急贷款|附近信用贷款办理
赤水市住房二押银行贷款&私家车子抵押个人急用钱应急贷款|附近信用贷款办理
常德市垫资过桥贷款办理#商品房贷款-私家车子抵押银行贷款
常德市垫资过桥贷款办理#商品房贷款-私家车子抵押银行贷款
承德市平泉市专业办理房抵贷-银行房子抵押贷款,附近个人贷款办理
承德市平泉市专业办理房抵贷-银行房子抵押贷款,附近个人贷款办理
浦江县住房公积金银行信用贷款代办公司#车辆贷款押大本-个人贷款能贷多少
浦江县住房公积金银行信用贷款代办公司#车辆贷款押大本-个人贷款能贷多少
登封市个人住房公积金贷款代办公司%公司抵押贷款-汽车抵押公司经营贷款
登封市个人住房公积金贷款代办公司%公司抵押贷款-汽车抵押公司经营贷款
哈尔滨市方正县押本不押车贷款%汽车抵押贷款办理押车,公司法人信用贷款
哈尔滨市方正县押本不押车贷款%汽车抵押贷款办理押车,公司法人信用贷款