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服务器,根据实际需求调整配置,以满足不同的使用场景。

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