内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

CentOS7搭设FTP服务器

2018-12-03 20:49 出处:清屏网 人气: 评论(0

FTP 主要用于文件传输,在 Linux 上一般用 vsftpd 来实现,通过搭设 FTP 服务器,可以实现文件的共享,至少比坑爹的某度网盘强多了。

搭设 FTP 服务器有三种可选的认证方式:匿名认证、本地用户认证、虚拟用户认证,安全性:匿名认证<本地用户认证<虚拟用户认证,配置复杂度:匿名认证<本地<虚拟用户认证。

Linux 中文件都有对应的所有者,虚拟用户认证指的是,创建一个或多个 FTP 用户,并将这些 FTP 用户与 Linux 本地的某个用户(如 vftpuser )进行映射,这样完成映射的用户在对 FTP 目录进行操作时等同于用户 vftpuser 进行操作。此外,虚拟用户认证模式可以允许对多个 FTP 分别进行配置,非常灵活方便。从灵活性与安全性两个方面考虑,本文选择使用虚拟用户认证模式。

OK,准备开工!

一、基本环境

服务器:CentOS7.5

客户机:Ubuntu Mate18.10

FTP服务端:vsftpd

FTP客户端:FileZilla(可选)

二、基本流程

为了看起来更简洁,仅列出搭设基本流程及相关命令。

  1. 安装 vsftpd

    yum install vsftpd
  2. 创建虚拟用户

    用你喜欢的任何编辑器创建并编辑 /etc/vsftpd/vuser.list 文件,内容如下:

    lilei
     lileipasswd
     hanmeimei
     hmmpasswd

    口令认证文件奇数行为用户名,偶数行为对应的密码

  3. 创建口令认证数据库

    db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db
    chmod 600 /etc/vsftpd/vuser.db
    -T:转换
    -t:指定hash算法
    -f:指定用户名
    
  4. 编辑 PAM 认证文件

    创建并编辑 /etc/pam.d/vsftpd.vu ,内容如下:

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

    db指定口令认证数据库,不含后缀名

  5. 建立本地用户

    useradd -d /home/vftpuser -s /sbin/nologin vftpuser
    chmod 755 /home/vftpuser
    -d:指定用户主目录
    -s:指定用户登录shell,/sbin/nologin表示禁止用户通过shell登录,提高安全性
    
  6. 映射 FTP 用户到 vftpuser

    编辑 /etc/vsftpd/vsftpd.conf ,修改下列行:

    pam_service_name=vsftpd.vu    # 指定pam认证文件
    guest_enable=YES                            # 启用映射
    guest_username=vftpuser            # 指定映射的本地用户
    user_config_dir=/etc/vsftpd/vusers_dir        # 指定FTP用户配置文件位置,如果不需要对每个用户进行分别配置,可将此行注释掉
  7. 为每个用户进行单独配置

    创建 /etc/vsftpd/vuser_dir ,针对每个 FTP 用户创建同名配置文件,此处以 lilei 为例。创建并编辑 /etc/vsftpd/vuser_dir/lilei ,内容如下:

    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    local_root=/var/www/html

    默认根目录为映射用户的家目录,可通过 local_root 指定某个用户的根目录,注意需要将此目录所有者改为 vftpuser

  8. 重启 vsftpd

    systemctl start vsftpd

三、注意事项

  • vsftpd 加入开机启动,防止服务器重启后无法访问;
  • 如果 FTP 服务器无法访问,注意检查防火墙与 SElinux 设置;
  • 生成口令认证数据库后,及时将 list 文件删除,防止密码泄露。
分享给小伙伴们:
本文标签: FTP服务器CentOS

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号