如何使用 VSFTPD 在 CentOS 8 上设置 FTP 服务器如何使用 VSFTPD 在 CentOS 8 上设置 FTP 服务器如何使用 VSFTPD 在 CentOS 8 上设置 FTP 服务器如何使用 VSFTPD 在 CentOS 8 上设置 FTP 服务器
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

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

什么是FTP?

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

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

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

安装 VSFTP FTP 服务器

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

dnf install -y vsftpd

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

systemctl enable vsftpd
systemctl start vsftpd

通过输入以下命令获取原始配置文件 /etc/vsftpd/vsftpd.conf 的副本:

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

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

vim /etc/vsftpd/vsftpd.conf

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

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 服务器中配置用户列表

默认情况下,位于 /etc/vsftpd/user_list 的 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

保存并关闭配置文件。

现在,使用以下命令在 /etc/vsftpd/ 目录下创建一个 chroot_list :

touch /etc/vsftpd/chroot_list

仅添加该列表中您想要向其提供系统整体访问权限的用户。

创建用户以访问 FTP 服务

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

useradd user1
passwd user1

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

vim /etc/vsftpd/user_list

输入“i”进行插入,然后输入该用户名,如图:

按 ESC 并输入 :wq! 保存文件。

如果您想为特定用户提供对系统的总体访问权限,请在 /etc/vsftpd/chroot_list 中添加该用户。

重新启动 VSFTPD 服务:

systemctl restart vsftpd

使用以下命令验证 FTP 服务的状态:

systemctl status vsftpd

配置 FTP 防火墙

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

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

从 Windows 机器测试 FTP 服务器

连接FTP Server需要客户端软件。 FTP最常用的软件是FileZilla、WINSCP等。我使用的是FileZilla进行连接。

打开您的 FTP 客户端软件,输入以下详细信息进行连接:

主机 --> IP 地址或主机名。

用户名:FTP用户名(在我的例子中是user1)

密码

端口:21

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

结论

在本教程中,我们学习了如何在 Centos 8 上设置 FTP 服务器、如何限制用户的主目录以及如何授予他们读/写访问权限。我们还了解了如何授予特定用户对系统的一般访问权限。

©2015-2025 艾丽卡 support@alaica.com