qidao123.com ToB IT社区-企服评测·应用市场

标题: Windows访问Linux下的FTP服务器(Centos和Uuntu) [打印本页]

作者: 南飓风    时间: 2023-9-8 11:36
标题: Windows访问Linux下的FTP服务器(Centos和Uuntu)
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连接测试  
  补充知识

    /etc/vsftpd下的文件作用: 
 
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 链接测试如上面 操作即可
 
    
  

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




欢迎光临 qidao123.com ToB IT社区-企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.5