如何使用VSFTPD在CentOS 8上设置FTP服务器

什么是FTP?

FTP(文件传输协议)是一种客户端-服务器网络协议,允许用户与远程计算机交换文件。

FTP使用纯文本传输和访问数据。有几种不同的开放源FTP服务器可用于Linux操作系统平台。最常用的FTP服务器是VSFTPD,ProFTPD和PureFTPD。 FTP协议使用端口号21进行连接,使用端口20进行数据传输。在被动模式下,使用其他端口。

在本教程中,您将学习如何设置和配置VSFTPD。它非常安全和稳定,可在CentOS 8软件包存储库中找到。

VSFTP FTP服务器安装

要在CentOS 8上安装VSFTPD软件包,请打开一个终端或使用SSH以root用户身份连接到服务器,然后键入以下命令。

#DNF安装–y vsftpd

安装软件包后,请使用以下命令启动并启用VSFTPD服务:

#Systemctl启用vsftpd
#Systemctl启动vsftpd

启用FTP服务

启动FTP服务

取得原始配置文件的副本 /etc/vsftpd/vsftpd.conf 输入以下命令。

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bk

制作原始配置文件的备份副本

使用以下命令编辑配置文件:

# vim /etc/vsftpd/vsftpd.conf

用vim编辑配置文件

在其中找到并设置以下指令:

anonymous_enable=NO # disable anonymous users(Unknown users)
local_enable=YES # allow local users
write_enable=YES # allow ftp write commands
local_umask=022 # set default umask
dirmessage_enable=YES # enable messages on change directory
xferlog_enable=YES # enable logging of uploads and downloads
connect_from_port_20=YES # ensure PORT transfer connections from port 20 xferlog_std_format=YES # keep standard log format
listen=NO # prevent vsftpd run in stand-alone mode
listen_ipv6=YES # allow vsftpd to listen on IPv6 socket
pam_service_name=vsftpd # set PAM Service name to vsftpd

在FTP服务器上配置用户列表

默认, user_list 文件中 / etc / vsftpd / user_list已批准 使用FTP服务。

限制用户 chroot环境,使用以下指令:

chroot_local_user=YES # Create chrooted environment for users
allow_writeable_chroot=YES # Allow write permission to a user on chroot jail directory

要维持对用户主目录的限制,请使用以下指令:

userlist_enable=YES # enable vsftpd to load usernames
userlist_deny=NO # allow access to users in the user list

将此指令添加到配置文件以提供对系统的整体访问。

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #users in this file list have an overall access

保存并关闭配置文件。

立即创建 chroot_list 下面 / etc / vsftpd / 目录使用以下命令:

# touch /etc/vsftpd/chroot_list

Chroot FTP用户

仅添加提供系统整体访问权限的列表中的那些用户

创建一个用户以访问FTP服务

要创建一个使用FTP服务的用户,请使用以下命令。

# useradd user1
# passwd user1

添加该用户 user_list 要将文件限制在用户的主目录中,请使用以下命令:

# vim /etc/vsftpd/user_list

一世插入并输入用户名,如下图所示。

创建一个FTP用户

按Esc进入 :Wq! 保存文件。

如果您想授予特定用户对该系统的整体访问权限, / etc / vsftpd / chroot_list。

重新开始 VSFTPD 服务:

# systemctl restart vsftpd

应用配置更改

使用以下命令检查FTP服务的状态:

# systemctl status vsftpd

检查FTP服务的状态

配置FTP防火墙

要允许FTP服务通过防火墙,请使用以下命令:

# firewall-cmd - - add-service = ftp - - permanent
# firewall-cmd - - reload

为FTP配置Firewalld

应用防火墙配置更改

在Windows计算机上测试FTP服务器

需要客户端软件才能连接到FTP服务器。 FTP最常用的软件是 FileZillaWINSCP, 等。我正在使用FileZilla进行连接。

打开FTP客户端软件,然后输入以下详细信息进行连接。

主办 —> IP地址或主机名。

用户名:FTP用户名(在我的情况下为user1)

密码

港口:21

测试FTP连接

成功连接后,您可以根据需要上载/下载文件。

成功测试FTP连接

结论

在本教程中,您学习了如何在Centos 8上设置FTP服务器,将用户限制在其主目录,并为用户提供读/写访问权限。它还说明了如何授予特定用户对该系统的一般访问权限。

如何使用VSFTPD在CentOS 8上设置FTP服务器

Sidebar