centos

如何在centos上限制vsftp访问

小樊
46
2025-08-04 09:29:21
栏目: 智能运维

在CentOS上限制vsftpd访问可以通过以下几种方法实现:

方法一:使用IP地址限制

  1. 编辑vsftpd配置文件: 打开/etc/vsftpd/vsftpd.conf文件。

    sudo vi /etc/vsftpd/vsftpd.conf
    
  2. 添加IP地址限制: 在配置文件中添加或修改以下行,以限制特定IP地址访问FTP服务器。

    tcp_wrappers=YES
    

    然后编辑/etc/hosts.deny/etc/hosts.allow文件来控制访问。

    /etc/hosts.deny中添加:

    vsftpd: ALL
    

    /etc/hosts.allow中添加允许访问的IP地址:

    vsftpd: 192.168.1.100 192.168.1.101
    

方法二:使用用户权限限制

  1. 创建一个专用FTP用户

    sudo adduser ftpuser
    sudo passwd ftpuser
    
  2. 配置vsftpd使用该用户: 编辑/etc/vsftpd/vsftpd.conf文件,确保以下配置项存在并正确设置:

    local_enable=YES
    write_enable=YES
    chroot_local_user=YES
    allow_writeable_chroot=YES
    userlist_enable=YES
    userlist_file=/etc/vsftpd/user_list
    userlist_deny=NO
    
  3. 创建用户列表文件: 创建并编辑/etc/vsftpd/user_list文件,添加允许访问的用户。

    sudo vi /etc/vsftpd/user_list
    

    添加用户名:

    ftpuser
    

方法三:使用防火墙限制

  1. 启用防火墙(如果尚未启用):

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  2. 添加FTP服务规则

    sudo firewall-cmd --permanent --add-service=ftp
    sudo firewall-cmd --permanent --zone=public --add-port=21/tcp
    sudo firewall-cmd --reload
    

方法四:使用SELinux限制

如果SELinux处于 enforcing 模式,可能需要调整SELinux策略。

  1. 检查SELinux状态

    sestatus
    
  2. 临时设置SELinux为permissive模式(仅用于测试):

    sudo setenforce 0
    
  3. 调整SELinux策略: 如果需要永久更改,可以编辑/etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=permissive

方法五:使用FTP服务器软件的其他特性

一些FTP服务器软件提供了更高级的访问控制功能,例如ProFTPD。如果需要更复杂的访问控制,可以考虑使用这些软件。

注意事项

通过以上方法,您可以在CentOS上有效地限制vsftpd的访问。

0
看了该问题的人还看了