HCRM博客

如何在CentOS上安装和配置vsftp服务器?

CentOS vsftpd 安装指南

在 CentOS 系统中,vsftpd(Very Secure FTP Daemon)是一款小巧轻快且安全易用的 FTP 服务器程序,本文将详细介绍如何在 CentOS 系统上安装和配置 vsftpd,包括安装步骤、配置防火墙、添加用户、设置目录权限以及配置文件的详细解释。

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

一、vsftpd简介

vsftpd 是“Very Secure FTP Daemon”的缩写,是一款在Linux发行版中广泛使用的FTP服务器软件,它以安全性高和轻量级著称,适用于各种FTP服务场景。

二、安装步骤

1. 检查是否已安装

在安装之前,可以先检查系统中是否已经安装了 vsftpd,使用以下命令:

rpm qa | grep vsftpd

如果未安装,则继续下一步。

2. 安装 vsftpd

以 root 用户或具有 sudo 权限的用户身份执行以下命令来安装 vsftpd:

如何在CentOS上安装和配置vsftp服务器?-图2
(图片来源网络,侵权删除)
yum install y vsftpd

安装完成后,可以查看安装版本以确认安装成功:

vsftpd v

3. 启动并设置开机自启动

启动 vsftpd 服务:

systemctl start vsftpd

设置开机自启动:

systemctl enable vsftpd

4. 检查服务状态

确保服务正常运行:

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

输出示例如下:

● vsftpd.service Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 20200330 15:16:51 EDT; 10s ago
     Docs: man:vsftpd(8)
 Main PID: 2880 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─2880 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

三、配置防火墙

为了允许外部访问 FTP 服务,需要配置防火墙,默认情况下,CentOS 使用 firewalld 管理防火墙。

1. 永久关闭 firewalld

如果不希望每次重启后都手动关闭 firewalld,可以永久关闭:

systemctl stop firewalld
systemctl disable firewalld

2. 使用 Iptables 配置防火墙

编辑/etc/sysconfig/iPTAbles 文件,在 REJECT 行之前添加以下代码:

A RHFirewall1INPUT m state state NEW m tcp p tcp dport 21 j ACCEPT

保存并关闭文件,然后重启 iptables:

service iptables restart

或者,使用以下命令立即生效:

iptables F
iptables A INPUT p tcp dport 21 j ACCEPT

四、配置 vsftpd

vsftpd 的配置文件位于/etc/vsftpd/vsftpd.conf,可以使用文本编辑器打开该文件进行配置:

vi /etc/vsftpd/vsftpd.conf

1. 基本配置

以下是一些常见的配置选项及其解释:

禁止匿名登录
anonymous_enable=NO
允许本地用户登录
local_enable=YES
允许上传文件
write_enable=YES
锁定用户在其主目录
chroot_local_user=YES
指定 chroot() 列表文件位置
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
启用被动模式
pasv_enable=YES
设置被动模式端口范围
pasv_min_port=30000
pasv_max_port=31000
指定被动模式 IP 地址(公网 IP)
pasv_address=<你的服务器IP>

2. 添加例外用户名单

创建/etc/vsftpd/chroot_list 文件,并添加例外用户,添加用户peterjohn

peter
john

每个用户占一行,无空格,保存并关闭文件。

3. 重启 vsftpd 服务

修改配置文件后,重启 vsftpd 服务使配置生效:

systemctl restart vsftpd

五、验证连接

使用 FTP 客户端(如 FileZilla)连接到服务器,输入服务器 IP 地址、用户名和密码进行测试,如果配置正确,应能成功连接并访问指定的目录。

六、常见问题及解答(FAQs)

Q1:如何更改 FTP 服务的监听端口?

A1:在/etc/vsftpd/vsftpd.conf 文件中,找到并修改listen 参数,将监听端口改为 2222:

listen=YES
listen_ipv6=NO
listen_port=2222

然后重启 vsftpd 服务:

systemctl restart vsftpd

确保防火墙开放新的端口:

firewallcmd permanent addport=2222/tcp
firewallcmd reload

或者配置 iptables:

iptables A INPUT p tcp dport 2222 j ACCEPT
service iptables restart

Q2:如何限制特定用户只能访问其主目录?

A2:通过配置chroot_local_userchroot_list 来实现,设置chroot_local_user=YES,然后在/etc/vsftpd/chroot_list 中列出例外用户,若只允许用户peter 访问其他目录,而其他用户只能访问其主目录,可以如下配置:

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
/etc/vsftpd/chroot_list 内容:
peter

这样,除了peter 之外的用户都会被限制在自己的主目录内。

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

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