温馨提示×

如何在CentOS上配置FTP服务器访问控制

小樊
39
2025-10-17 15:39:16
栏目: 云计算

在CentOS上配置FTP服务器访问控制可以通过多种方式实现,其中最常用的是使用vsftpd(Very Secure FTP Daemon)。以下是详细的步骤来配置vsftpd以实现访问控制:

1. 安装vsftpd

首先,确保你的CentOS系统已经安装了vsftpd。如果没有安装,可以使用以下命令进行安装:

sudo yum install vsftpd

2. 启动并启用vsftpd服务

安装完成后,启动vsftpd服务并设置开机自启:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

3. 配置vsftpd

编辑vsftpd的配置文件 /etc/vsftpd/vsftpd.conf

sudo vi /etc/vsftpd/vsftpd.conf

在配置文件中进行以下修改:

启用本地用户登录

确保以下行没有被注释掉:

local_enable=YES

启用写权限

如果你希望FTP用户能够上传文件,确保以下行没有被注释掉:

write_enable=YES

启用被动模式

被动模式通常用于通过防火墙连接FTP服务器:

pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048

配置用户访问控制

你可以使用 chroot 来限制用户只能访问他们的主目录:

chroot_local_user=YES
allow_writeable_chroot=YES

配置匿名用户访问

如果你不需要匿名用户访问,可以禁用匿名用户:

anonymous_enable=NO

配置用户列表

你可以创建一个用户列表文件来控制哪些用户可以登录:

userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
userlist_deny=NO

然后,创建并编辑用户列表文件:

sudo vi /etc/vsftpd/user_list

在文件中添加允许登录的用户名,每行一个。

4. 重启vsftpd服务

保存并退出配置文件后,重启vsftpd服务以应用更改:

sudo systemctl restart vsftpd

5. 配置防火墙

确保防火墙允许FTP流量。你可以使用以下命令打开必要的端口:

sudo firewall-cmd --permanent --zone=public --add-port=21/tcp
sudo firewall-cmd --permanent --zone=public --add-port=1024-1048/tcp
sudo firewall-cmd --reload

6. 测试FTP连接

使用FTP客户端(如FileZilla)测试连接,确保配置正确并且可以访问FTP服务器。

通过以上步骤,你应该能够在CentOS上成功配置vsftpd以实现FTP服务器的访问控制。

0