Windows访问Linux下的FTP服务器(Centos和Uuntu)

打印 上一主题 下一主题

主题 906|帖子 906|积分 2718

centos7.9版本

  1.下载FTP离线安装包:
    http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64)    选择最后一个 vsftpd-3.0.2-28.el7.x86_64.rpm
  2.检查是否已经安装了vsftp
    rpm -qa | grep vsftpd
    出现提示vsftpd版本号则表示已安装,没有则未安装
  3.安装vsftpd(推荐离线)   
    离线安装 rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm
    在线安装  yum install -y vsftp
  4.安装过程可能会报错    
    [root@yjy-pt01 vsftpd]$ rpm -ivh vsftpd-3.0.2-22.el7.x86_64.rpm
    warning: vsftpd-3.0.2-22.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
    error: Failed dependencies:
    libc.so.6(GLIBC_2.14)(64bit) is needed by vsftpd-3.0.2-22.el7.x86_64
    libc.so.6(GLIBC_2.15)(64bit) is needed by vsftpd-3.0.2-22.el7.x86_64
  解决:安装相关依赖
    rpm -ivh libcap-2.16-5.5.el6.x86_64.rpm 
    rpm -ivh libcap-devel-2.16-5.5.el6.x86_64.rpm
  若是执行上面命令依然提示 安装依赖失败 ,可执行如下命令强制执行
    rpm -ivh libcap-2.16-5.5.el6.x86_64.rpm  --nodeps --force
    rpm -ivh libcap-devel-2.16-5.5.el6.x86_64.rpm --nodeps --force

    上述依赖链接地址可根据不同系统版本下载相应依赖rpm包:https://centos.pkgs.org/7/centos-x86_64/
    例如下载libcap-2.16-5.5.el6.x86_64.rpm包 链接地址即是:https://centos.pkgs.org/7/centos-x86_64/libcap-2.16-5.5.el6.x86_64.rpm
  5.检查是否安装成功
    rpm -qa | grep vsftpd    出现版本号vsftpd-2.2.2-24.el6.x86_64 #,即表示安装成功
  6.安装好ftp之后,执行命令查看vsftpd服务是否在运行状态
    systemctl status vsftpd.service   若是在运行 即可看到 actving
  7.创建用户 
     1.# 创建ftp目标文件夹 mkdir /home/testFtp
     2.chmod 755 /home/testFtp
     3.# 创建用户 useradd -d /home/testFtp -s /sbin/nologin -g ftp -G root testUser

     4.# 设置密码 我设置的是 Test@123 passwd testUser   密码可随意设置
     5.# 更改用户testUser 的主目录为/home/testFtp 执行命令:usermod -d /home/testFtp testUser

     6.# 上述命令参数解释如下 :  #useradd 添加用户testUser
                  #-d 指定用户根目录为/home/testFtp
                  #-s 指定shell脚本为/sbin/nologin,表示不允许shell登录
                  #-g 创建分组ftp
                  #-G 指定root分组
  8.配置vsftpd 
    1. 修改vsftpd配置文件 vi /etc/vsftpd/vsftpd.conf
    找到一下内容修改成和我一样的:  
        anonymous_enable=NO
        local_root=/home/testFtp
        chroot_local_user=YES
        chroot_list_enable=YES
        # chroot_list文件中放的是限制目录的用户,防止里面的用户进入ftp目录以外的目录
        chroot_list_file=/etc/vsftpd/chroot_list
        pam_service_name=vsftpd
        userlist_enable=YES
        tcp_wrappers=YES
        #下面自己加,上面的都有,仔细寻找和对比
        userlist_deny=NO
        allow_writeable_chroot=YES
    2.编辑chroot_list文件
      vi /etc/vsftpd/chroot_list#添加一行   就是你创建的用户名 有多个的话一行一个
      # 我这里写是为了不限制 testUser只能访问指定目录,一般是要限制的也就是不需要写进这个文件
      testUser
    3.编辑user_list文件
       vi /etc/vsftpd/user_list
       #添加一行   就是你创建的用户名 有多个的话一行一个
        testUser
    4.修改另一个文件 (防止后面登陆出现 530 Login incorrect 错误)
      cd /etc/pam.d/
                  vi vsftpd
      # 把第四行 pam_shells.so 的改成下面这个
      pam_nologin.so
    5启停命令,每次修改vsftpd.conf都要重启
      #启动
      service vsftpd start 或 systemctl start vsftpd.service
      #停止
      service vsftpd stop 或 systemctl stop vsftpd.service
      #重启
      service vsftpd restart  或 systemctl restart vsftpd.service
   9.Windows连接测试  


    •   win + R 输入cmd
    •   输入ftp
    •   输入open 192.168.209.129 (换成你的IP)
    •   输入用户名testUser
    •   输入密码Test@123
    •   看到230 Login successful.即为成功,之后便可以使用ftp工具连接了。
    •       出现530 Login incorrect错误时,需要先确定用户名、密码、主机地址和端口是否正确,如果都正确,再检查本地是否开启了21端口
    •       检查20 21端口服务器是否开启,查看开启端口firewall-cmd --list-all 开启20,21端口firewall-cmd --zone=public --add-port=20/tcp --permanent
    •       firewall-cmd --zone=public --add-port=20/tcp --permanent 然后重启防火墙 irewall-cmd  --reload
    •      报错:打开FTP服务器上的文件夹时发生错误,请检查是否有权限访问该文件夹
    •     
    • 设置IE浏览器 —— Internet选项 —— 高级 —— 将使用被动FTP(用于防火墙和DSL调制解调器的兼容)选项去掉 —— 确定 

    • 用IE及IE内核的浏览器(如360等)登录Linnux空间FTP
      需要使用ftp://用户名:密码@ftp地址来访问 例如:
      ftp://hqx:123@192.168.4.39
    • 依照上面方法,windwos端依然无法登陆访问ftp的话,参照下面方式解决:
    • 检查ftp服务是否已开启:控制面板 —— 程序 —— 启用或关闭windows功能
    • 找到Internet Information Services里的FTP服务器,并勾选FTP服务和FTP扩展性

    •  
      找到TFTP客户端,并勾选,点击 “确定” 等待系统自动安装程序完毕
    • 控制面板 —— 系统和安全 —— 点击Windows防火墙下的 “允许应用通过Windows防火墙”
    • 在列表中确认 “Windows资源管理器” 右侧的两个勾选,如果没有勾选则点击上方的 “更改设置” 。
        

  补充知识

    /etc/vsftpd下的文件作用: 

    • ftpusers:指定了哪些用户账户不能访问FTP服务器,例如root等。 如果想要root 登录 则注释里面的root
    • user_list:可以作为用户白名单,或者是黑名单,或者无效名单。完全由userlist_enable和userlist_deny这两个参数决定。
      效果如下:#拒绝文件中的用户FTP访问
      userlist_enable=YES   userlist_deny=YES  
      # 拒绝除文件中的用户外的用户FTP访问
      userlist_enable=YES   userlist_deny=NO   
      # 基本可以认为user_list文件无用
      userlist_enable=NO   userlist_deny=YES/NO

 
Ubuntu 版本

  
一、 FTP

1.1 安装ftp

    sudo apt-get install vsftpd
  1.2 配置FTP
    sudo gedit /etc/vsftpd.conf
    将下面三个属性的注释取消,即设置不允许匿名登录、允许本地用户登录、允许修改文件
      # Allow anonymous FTP? (Disabled by default).
      anonymous_enable=NO
      # Uncomment this to allow local users to log in.
      local_enable=YES
      #
      # Uncomment this to enable any form of FTP write command.
      write_enable=YES
  
    在文件末尾添加 
      allow_writeable_chroot=YES
     在文件末尾添加下面属性、锁定一个共享目录(根据自己情况设置)
    local_root=home/bit/shareFile  
    取消下面三个属性的注释,在文件vsftpd.chroot_list中保存的是可访问的用户
    chroot_local_user=YES
    chroot_list_enable=YES
    # (default follows)
    chroot_list_file=/etc/vsftpd.chroot_list

    注意
    自己添加的两行代码一定没有空格,如何添加了空格,本地浏览器就无法登陆
    一定不能有空格

  1.3添加可访问用户
    sudo vi /etc/vsftpd.chroot_list 
    写入
    bit(用户名,根据自己情况自行填写)
    root
  1.4创建共享文件夹
    mkdir shareFile
    chmod -R 777 shareFile
  1.5重启服务器

      sudo service vsftpd restart
      #启动、关闭的命令
      #启动FTP服务器
      #sudo service vsftpd start
      #关闭FTP服务器
      #sudo service vsftpd stop
      #重启FTP服务器
      #sudo service vsftpd restart

   1.6windows 链接测试如上面 操作即可
 
    
  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南飓风

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表