centos

在 CentOS 中如何设置安全的 FTP 用户

小樊
84
2025-02-08 18:01:41
栏目: 智能运维

在 CentOS 中设置安全的 FTP 用户需要以下几个步骤:

  1. 安装 vsftpd:

    通过以下命令安装 vsftpd:

    sudo yum install vsftpd
    
  2. 创建 FTP 用户和用户组:

    使用以下命令创建一个新的系统用户(将 your_username 替换为您选择的用户名):

    sudo useradd -m your_username
    

    创建一个新的用户组(将 your_groupname 替换为您选择的组名):

    sudo groupadd your_groupname
    

    将新创建的用户添加到用户组:

    sudo usermod -aG your_groupname your_username
    
  3. 配置 vsftpd:

    使用文本编辑器打开 /etc/vsftpd/vsftpd.conf 文件,例如使用 nano 编辑器:

    sudo nano /etc/vsftpd/vsftpd.conf
    

    在配置文件中,找到或添加以下设置:

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

    这些设置分别表示:

    • 禁止匿名访问
    • 允许本地用户登录
    • 允许本地用户上传文件
    • 将本地用户限制在其主目录中
    • 允许写入chroot目录

    保存并关闭配置文件。

  4. 设置 SELinux 策略(如果需要):

    如果您的 CentOS 系统启用了 SELinux,您需要创建一个 SELinux 策略来允许 FTP 服务。使用以下命令创建一个名为 ftp_home_dir.pp 的策略文件:

    sudo cat > /etc/selinux/policy/ftp_home_dir.pp <<EOF
    module ftp_home_dir 1.0;
    require {
        type user_home_t;
        class ftp_home_dir_t;
    }
    allow user_home_t:ftp_home_dir_t:rwxp-xr-x;
    EOF
    

    使用 audit2allow 工具生成 SELinux 策略:

    sudo ausearch -m avc -ts recent
    sudo ausearch -m avc -te policy
    sudo audit2allow -M ftp_home_dir
    sudo semodule -i ftp_home_dir.pp
    
  5. 重启 vsftpd 服务:

    使用以下命令重启 vsftpd 服务以应用更改:

    sudo systemctl restart vsftpd
    

现在,您已经成功地在 CentOS 中设置了一个安全的 FTP 用户。用户将能够从其主目录上传和下载文件,但无法访问其他用户的目录或系统上的其他位置。

0
看了该问题的人还看了