HCRM博客

如何在CentOS上安装和配置vsftpd?

CentOS 安装 vsftpd

在现代网络环境中,文件传输协议(FTP)依然是一种重要的文件共享方式,vsftpd(Very Secure FTP DAEmon)是一款在Linux系统上广泛使用的FTP服务器软件,以其安全性和高效性著称,本文将详细介绍如何在CentOS系统上安装和配置vsftpd,并提供一些常见问题的解决方案。

如何在CentOS上安装和配置vsftpd?-图1
(图片来源网络,侵权删除)

一、安装vsftpd

1、检查是否已安装FTP

    rpm qa | grep ftp

如果已经安装过vsftpd,可以先卸载:

    rpm e nodeps vsftpd3.0.229.el7_9.x86_64

2、安装vsftpd

    yum install y vsftpd

3、设置开机启动

    systemctl enable vsftpd.service

4、启动vsftpd服务

    systemctl start vsftpd.service

5、查看vsftpd状态

如何在CentOS上安装和配置vsftpd?-图2
(图片来源网络,侵权删除)
    systemctl status vsftpd.service

二、配置vsftpd

1、修改vsftpd.conf配置文件

打开vsftpd的配置文件:

    vi /etc/vsftpd/vsftpd.conf

修改以下内容:

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    chroot_local_user=YES
    pasv_enable=YES
    pasv_min_port=30051
    pasv_max_port=30060
    userlist_deny=NO

2、新增FTP用户并设置主目录

创建一个名为ftpuser的用户,并将其主目录设置为/home/ftpdata

    useradd d /home/ftpdata ftpuser
    passwd ftpuser # 设置密码
    chmod R 750 /home/ftpdata # 设置权限
    chown R ftpuser: /home/ftpdata # 更改所有权

3、添加用户到白名单

如何在CentOS上安装和配置vsftpd?-图3
(图片来源网络,侵权删除)

编辑/etc/vsftpd/user_list文件,将新创建的用户添加到白名单中:

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

4、关闭SELinux和防火墙

临时关闭SELinux和防火墙:

    systemctl stop firewalld
    systemctl disable firewalld
    setenforce 0

5、放行端口

如果需要使用防火墙,可以放开FTP相关端口:

    firewallcmd permanent addport=21/tcp
    firewallcmd permanent addport=3005130060/tcp
    firewallcmd reload

三、测试FTP服务器

1、使用FTP客户端连接

可以使用FileZilla或命令行工具进行连接测试:

    ftp IP地址

输入用户名和密码后,应该能够成功登录并访问主目录。

四、常见问题及解决方案

1、问题1:530 Login incorrect

原因:用户认证失败。

解决方案:确保用户存在于系统中且密码正确,同时检查/etc/pam.d/vsftpd文件中的认证模块是否正确。

2、问题2:500 OOPS: vsftpd: refusing to run with writable root inside chroot()

原因:FTP用户的根目录具有写权限。

解决方案:去掉FTP用户根目录的写权限:

    chmod aw /home/ftpdata

3、问题3:客户端能连接,但是无法获取文件列表

原因:防火墙未开放被动模式端口。

解决方案:在防火墙中开放被动模式下使用的端口范围,并确保客户端使用被动模式连接。

通过以上步骤,您可以在CentOS系统上成功安装和配置vsftpd,实现一个安全高效的FTP服务器,希望本文对您有所帮助!

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