centos

CentOS如何限制VSFTP访问权限

小樊
36
2025-09-01 16:13:39
栏目: 智能运维

在CentOS系统中,您可以通过配置vsftpd(Very Secure FTP Daemon)来限制FTP访问权限。以下是一些常见的方法:

1. 配置用户访问权限

1.1 创建FTP用户

首先,创建一个专门用于FTP访问的用户:

sudo useradd ftpuser
sudo passwd ftpuser

1.2 配置vsftpd.conf

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

sudo vi /etc/vsftpd/vsftpd.conf

确保以下配置项正确设置:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

2. 配置IP访问控制

2.1 使用/etc/hosts.deny和/etc/hosts.allow

您可以编辑 /etc/hosts.deny/etc/hosts.allow 文件来控制IP访问。

编辑 /etc/hosts.deny

sudo vi /etc/hosts.deny

添加以下内容以拒绝所有IP访问:

vsftpd: ALL

编辑 /etc/hosts.allow

sudo vi /etc/hosts.allow

添加允许访问的IP地址或IP范围:

vsftpd: 192.168.1.0/24
vsftpd: 192.168.1.100

2.2 使用iptables

您也可以使用iptables来限制IP访问:

sudo iptables -A INPUT -p tcp --dport 21 -s 192.168.1.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21 -j DROP

3. 配置虚拟用户

如果您需要使用虚拟用户而不是系统用户,可以按照以下步骤进行配置:

3.1 安装db4-utils

sudo yum install db4-utils

3.2 创建虚拟用户数据库

创建一个虚拟用户数据库文件:

sudo touch /etc/vsftpd/virtusers.txt
sudo db_load -T -t hash -f /etc/vsftpd/virtusers.txt /etc/vsftpd/virtusers.db

3.3 创建虚拟用户映射文件

创建一个虚拟用户映射文件:

sudo touch /etc/pam.d/vsftpd-virt
sudo vi /etc/pam.d/vsftpd-virt

添加以下内容:

auth required pam_userdb.so db=/etc/vsftpd/virtusers
account required pam_userdb.so db=/etc/vsftpd/virtusers

3.4 修改vsftpd.conf

编辑 /etc/vsftpd/vsftpd.conf 文件:

sudo vi /etc/vsftpd/vsftpd.conf

添加以下配置项:

guest_enable=YES
guest_username=ftpuser
virtual_use_local_privs=YES
pam_service_name=vsftpd-virt
user_sub_token=$USER
local_root=/home/$USER
chroot_local_user=YES
allow_writeable_chroot=YES

4. 重启vsftpd服务

最后,重启vsftpd服务以应用更改:

sudo systemctl restart vsftpd

通过以上步骤,您可以有效地限制CentOS系统中VSFTP的访问权限。根据您的具体需求,可以选择适合的方法进行配置。

0
看了该问题的人还看了