在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
listen=YES:启用vsftpd监听。anonymous_enable=NO:禁止匿名用户登录。local_enable=YES:允许本地用户登录。write_enable=YES:允许FTP写入权限。chroot_local_user=YES:将本地用户锁定在其主目录中。allow_writeable_chroot=YES:允许chroot目录可写(如果需要)。
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的访问权限。根据您的具体需求,可以选择适合的方法进行配置。
以上就是关于“CentOS如何限制VSFTP访问权限”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm