HCRM博客

如何在CentOS 7系统中配置使用vsftpd?

CentOS 7 vsftpd 配置与使用详解

vsftpd(Very Secure FTP Daemon)是一个在Linux系统上广泛使用的FTP服务器软件,以其安全性、稳定性和易用性著称,本文将详细介绍如何在CentOS 7上安装、配置和使用vsftpd,并提供一些常见问题的解决方案。

如何在CentOS 7系统中配置使用vsftpd?-图1
(图片来源网络,侵权删除)

一、环境说明

本文基于以下环境进行操作:

操作系统:CentOS 7

网络环境:联网状态,具备公网IP或内网IP

用户权限:root权限或sudo权限

二、vsftpd软件安装和说明

如何在CentOS 7系统中配置使用vsftpd?-图2
(图片来源网络,侵权删除)

1、更新软件包

  • yum update y

2、安装vsftpd

  • yum install y vsftpd

3、启动并设置开机自启

  • systemctl start vsftpd
  • systemctl enable vsftpd

4、检查服务状态

  • systemctl status vsftpd

三、配置vsftpd服务

vsftpd的主要配置文件是/etc/vsftpd/vsftpd.conf,可以使用vim等文本编辑器进行编辑。

1、备份原始配置文件

  • cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

2、编辑配置文件

  • vim /etc/vsftpd/vsftpd.conf

3、基本配置项

  • anonymous_enable=NO
  • local_enable=YES
  • write_enable=YES
  • local_umask=022
  • dirmessage_enable=YES
  • xferlog_enable=YES
  • connect_from_port_20=YES
  • xferlog_std_format=YES
  • chroot_local_user=YES
  • listen=YES
  • listen_ipv6=NO

4、被动模式配置

  • pasv_enable=YES
  • pasv_min_port=30010
  • pasv_max_port=30015
  • pasv_address=你的服务器公网IP

5、保存并退出

  • :wq

6、重启vsftpd服务

  • systemctl restart vsftpd

四、防火墙配置

1、开放FTP端口

  • firewallcmd permanent addport=21/tcp
  • firewallcmd permanent addservice=ftp
  • firewallcmd reload

2、如果使用iptables

  • iptables A INPUT p tcp dport 20 j ACCEPT
  • iptables A INPUT p tcp dport 21 j ACCEPT
  • iptables A INPUT p tcp dport 30010:30015 j ACCEPT

五、创建FTP用户并设置权限

1、添加FTP用户

  • sudo adduser ftpuser
  • sudo passwd ftpuser

2、创建FTP目录并设置权限

  • sudo mkdir p /home/ftpuser/ftp
  • sudo chown R ftpuser:ftpuser /home/ftpuser/ftp
  • sudo chmod 755 /home/ftpuser/ftp

六、测试与问题排查

1、本地测试

  • ftp 127.0.0.1

2、常见问题及解决方案

530 Login incorrect:可能是PAM认证问题,编辑/etc/pam.d/vsftpd,注释掉auth required pam_shells.so

500 OOPS: vsftpd: refusing to run with writable root inside chroot():设置FTP主目录为不可写。

客户端能连接但无法获取文件列表:确保防火墙开放相应端口,并使用被动模式。

七、FAQs

1、如何更改FTP服务器的根目录?

  • # 在/etc/vsftpd/vsftpd.conf中设置
  • anon_root=/path/to/anon/ftp/dir
  • local_root=/path/to/local/ftp/dir

2、如何限制某些用户只能访问特定目录?

  • # 在/etc/vsftpd/vsftpd.conf中设置
  • local_root=/home/$USER/ftp
  • chroot_local_user=YES

通过以上步骤,您可以在CentOS 7上成功搭建一个安全、稳定的vsftpd服务器,根据实际需求调整配置,以满足不同的使用场景

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/10522.html

分享:
扫描分享到社交APP
上一篇
下一篇