美文网首页
在云主机上搭建FTP服务

在云主机上搭建FTP服务

作者: 酒极子 | 来源:发表于2018-10-31 19:37 被阅读10次

    FTP 是一个很实用的文件传输协议,方便在客户端和服务器之间进行文件的传输。

    1. 安装并启动FTP服务

    安装VSFTPD
    • 使用yum安装vsftpd
    yum install vsftpd -y
    
    启动VSFTPD
    • 安装完成后,启动FTP服务
    service vsftpd start
    
    • 启动后,可以看到系统已经监听了21端口(FTP 协议默认使用 21 端口作为服务端口)
    
    netstat -nltp | grep 21
    
    

    2. 配置FTP权限

    目前FTP服务登录允许匿名登录,也无法区分用户访问,我们需要配置FTP访问权限

    了解VSFTP配置

    vsftpd的配置目录为/etc/vsftpd,包含下列的配置文件:

    • vsftpd.conf为主要配置文件

    • ftpusers配置禁止访问FTP服务器的用户列表

    • user_list配置用户访问控制

    阻止匿名访问和切换根目录

    匿名访问和切换根目录都会给服务器带来安全风险(匿名访问让所有人都可以上传文件到服务器上而无需鉴权,而允许切换根目录则可能产生越权访问问题。)

    • 编辑/etc/vsftpd/vsftpd.conf 找到下面两处配置并修改
    #禁止匿名用户
    anonymous_enable=NO
    #禁止切换根目录
    chroot_local_user=YES(前面有注释符号的话去掉)
    
    • 编辑完成后,保存配置,然后重新启动FTP服务
    service vsftpd restart
    
    创建FTP用户
    • 创建一个用户xxx
    useradd xxx
    
    • 为用户xxx设置密码zzz
    echo "zzz" | passwd xxx --stdin
    
    限制该用户仅能通过FTP访问
    • 限制用户xxx只能通过FTP访问服务器,而不能直接登录服务器
    usermod -s /sbin/nologin xxx
    
    为用户分配主目录
    • 为用户创建主目录(用户的主目录是用户通过 FTP 登录后看到的根目录)设置
      /data/ftp为主目录,该目录不可上传文件
      /data/ftp/xxx文件只能上传到该目录下
    mkdir -p /data/ftp/xxx
    
    • 设置访问权限
    chmod a-w /data/ftp && chmod 777 -R /data/ftp/xxx
    
    • 设置为用户的主目录
    usermod -d /data/ftp xxx
    

    3. 准备域名和证书

    域名解析

    到控制台添加解析记录
    域名设置解析后需要过一段时间才会生效,通过ping命令检查域名是否生效

    ping www.xxx.xxx
    

    如果ping命令中返回的信息中含有你设置的解析的IP地址,说明解析成功

    4. 访问FTP服务

    FTP服务已安装并配置完成,下面我们来使用该FTP服务

    访问FTP服务

    根据你个人的工作环境,选择一种方式来访问已经搭建的FTP服务

    • 通过Windows资源管理器访问

    Windows用户可以复制下面的链接(如果您申请了域名,可以将链接中的 IP 地址替换为对应的域名访问 FTP 服务)到资源管理器的地址栏访问

    ftp://用户名:密码@主机ip
    
    • 通过FTP客户端工具访问
      FTP客户端工具很多,推荐两个常用的

    WinSCP Windows下的FTP和SFTP连接客户端

    FileZilla 跨平台的FTP客户端,支持所有平台

    如果可以正常连接,那么就OK了,你可以开始使用属于自己的FTP服务器了

    相关文章

      网友评论

          本文标题:在云主机上搭建FTP服务

          本文链接:https://www.haomeiwen.com/subject/jpcztqtx.html