美文网首页
Linux 服务器搭建 FTP 服务(本地工具:ForkLift

Linux 服务器搭建 FTP 服务(本地工具:ForkLift

作者: AizawaSayo | 来源:发表于2021-04-06 13:29 被阅读0次

    之前我都是通过 scp 传输文件,实在不是很方便。

    scp -P 1022 /Users/xxx/ftp/vsftpd.conf root@106.28.168.102:/etc/vsftpd
    

    于是一步步根据腾讯云的文档 Linux 云服务器搭建 FTP 服务 ,记录如下:

    安装和配置 vsftpd

    1. 登录服务器,安装 vsftpd。

      yum install -y vsftpd
      
    2. 设置 vsftpd 开机自启动。

      systemctl enable vsftpd
      
    3. 启动 FTP 服务。

      systemctl start vsftpd
      
    4. 确认服务是否启动。

      netstat -antup | grep ftp
      

      如显示结果如下,则说明 FTP 服务已成功启动。

      此时,vsftpd 已默认开启匿名访问模式,无需通过用户名和密码即可登录 FTP 服务器。匿名方式登录 FTP 服务器的用户没有权修改或上传文件的权限。

    5. 为 FTP 服务创建一个 Linux 用户,本文以 ftpuser 为例。

      useradd ftpuser
      
    6. 设置 ftpuser 用户的密码。

      passwd ftpuser
      

      输入密码后请按 Enter 确认设置,密码默认不显示,本文以 tf7295TFY 为例。

    7. 创建 FTP 服务使用的文件目录,本文以 /var/ftp/test 为例。

      mkdir /var/ftp/test
      
    8. 修改目录权限。

      chown -R ftpuser:ftpuser /var/ftp/test
      
    9. 编辑 vsftpd.conf 文件。

      vim /etc/vsftpd/vsftpd.conf
      
    10. 修改以下配置参数,设置匿名用户和本地用户的登录权限,设置指定例外用户列表文件的路径,并开启监听 IPv4 sockets。

      anonymous_enable=NO      #禁止匿名用户登录
      local_enable=YES         #支持本地用户登录
      chroot_local_user=YES    #全部用户被限制在主目录
      chroot_list_enable=YES   #启用例外用户名单
      chroot_list_file=/etc/vsftpd/chroot_list  #指定用户列表文件,该列表中的用户不被锁定在主目录
      listen=YES
      
    11. 在行首添加 #,注释 listen_ipv6=YES 配置参数,关闭监听 IPv6 sockets。

      #listen_ipv6=YES
      
    12. 被动模式配置

      local_root=/var/ftp/test    #设置本地用户登录后所在的目录
      allow_writeable_chroot=YES
      pasv_enable=YES
      pasv_address=xxx.xx.xxx.xx  #请修改为您的 Linux 云服务器公网 IP
      pasv_min_port=40000
      pasv_max_port=45000
      
    13. 主动模式配置

      # 只添加下列参数,无需pasv开头的那几个
      local_root=/var/ftp/test    #设置本地用户登录后所在的目录
      allow_writeable_chroot=YES
      
    14. 按 Esc 后输入 :wq 保存后退出

    15. 创建并编辑 chroot_list 文件。

      vim /etc/vsftpd/chroot_list
      
    16. i 进入编辑模式,输入用户名,一个用户名占据一行,设置完成后保存并退出。
      您若没有设置例外用户的需求,可跳过此步骤,输入 :wq 退出文件。

    17. 重启 FTP 服务。

      systemctl restart vsftpd
      
    18. 安全组设置
      如主动模式则不需放通40000-45000端口(vsftpd.conf中设置的 pasv_min_port 到 pasv_max_port 之间的所有端口),即无需添加如图第一条规则

    19. 验证 FTP 服务,打开客户端的计算机,在路径栏中访问以下地址。若是MacOS,则是在访达的前往中选择“连接服务器”并输入以下地址:

      ftp://云服务器公网IP:21
      
      Finder中连接服务器
      在弹出的“登录”窗口中输入 配置 vsftpd 中已设置的用户名及密码。
      ok辣~
      但是用Finder访问只能下载,不能上传和编辑服务器的文件😢就挺鸡肋。还是得整上Transmit 或 ForkLift (App Store 就可以下载)这些工具。
      ForkLift界面

    vsftpd启动报错处理

    作为一个bug天选之人,我无一例外地遇上了摸不着头脑的vsftpd启动/重启报错:

    Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.
    

    根据提示systemctl status vsftpd.service后,又告诉我们加上-l才能查看全部错误报告。
    Hint: Some lines were ellipsized, use -l to show in full.
    那就加上。
    systemctl -l status vsftpd.service
    
    现在就能看到配置具体错在哪里
    原来是自己在vim /etc/vsftpd/vsftpd.conf注释的时候不小心多加了空格...大家下次碰到可以参考下

    卸载vsftpd

    # 1. 查看vsftpd的状态
    service vsftpd status
    # 2. 如果vsftpd在运行中,需要先停止它才能卸载
    service vsftpd stop
    # 3. 查找软件包名
    rpm -aq vsftpd
    # 4. 根据返回的具体包名进行删除
    rpm -e vsftpd-3.0.2-28.el7.x86_64
    

    相关文章

      网友评论

          本文标题:Linux 服务器搭建 FTP 服务(本地工具:ForkLift

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