当前位置:网站首页 > 技术博客 > 正文

ftp至对方服务器上传文件



本来目录很长的 因为感觉不太美观 所以小标题都删掉了 本文介绍了

  1. 本地用户的FTP服务器搭建实例
  2. 匿名用户的FTP服务器搭建实例
  3. 虚拟用户的FTP服务器搭建实例
  4. 企业常见类型搭建实验

一、 FTP工作原理

FTP大大的简化了文件传输的复杂性,它能够使文件通过网络从一台主机传送到另一个主机,却不受其计算机和操作系统类型的限制。无论是PC、服务器、大型机、还是ISO、Linux、Windows。只要双方都支持FTP,就可以方便可靠的传送文件。

二、 FTP具体的工作原理

  1. 客户端向服务器发送请求、同时客户端系统动态的打开一个大于1024的端口等待服务器连接
  2. 若FTP服务器在端口21侦听到该请求、则会在客户端1031端口和服务器的21端口之间建立一个FTP会话连接
  3. 当需要传输数据时、FTP客户端再动态的打开一个大于1024的端口(比如1032端口)连接到服务器的20端口,并再这两个端口之间传输数据。当数据传输完毕,这两个端口会自动关闭。
  4. 数据传输完毕,如果客户端不向服务端发送拆除连接的请求,则继续保持连接
  5. 当FTP客户端向服务端发送拆除连接的请求并确认后、客户端将端口与FTP服务的连接,客户端上动态分配的端口将自动释放。

三、 FTP工作模式

FTP服务有两种工作模式:

四、 匿名用户

FTP服务不同于WWW它首先要求登录到服务器上,然后再传输文件,这对于很多公开提供软件下载的服务器来说十分不便,于是匿名用户访问就诞生了。使用一个公共的用户anonymoud,让任何用户都可以很方便的从这些服务器上下载软件。

2台安装好Centos7的计算机、一台作为服务器、一台作为客户端。

主机名称操作系统IP地址角色FTP服务器端Centos7192.168.10.101FTP服务器端FTP客户端Centos7192.168.10.102FTP客户端Windows客户端Windows192.168.10.100FTP客户端

一、本地yum源
插一句 如果你不会安装软件或者不会搭建本地yum源 可以先看看我写的教程 点我前往 学习配置大概需要3~5分钟

二、IP网卡配置
如果你不会配置网卡的话 可以看看我写的教程 点我前往 学习一下 大概八分钟

(1) 检查yum源是否配置成功

 

(2) 安装vsftpd服务

 

(3) 启动vsftpd服务并关闭防火墙

 

vsftpd服务程序的主配置文件(/etc/vsftpd/vsftpd.conf) 下面的命令可以过滤到没有必要的注释

 

(1) 主配置文件参数说明

vsftpd服务程序主配置文件种常用的参数及其作用如下表。在后续的实验种将演示重要的参数用法,帮助大家熟悉并掌握。

选项说明anonymous_enable设置是否允许匿名用户登录服务器local_enable设置是否允许本地用户登录服务器write_enable设置是否允许写操作local_umask设置本地用户创建文件的umask值anon*_upload_enable*设置是否允许匿名用户上传文件anon*_mkdir_write_enable*设置是否允许匿名用户建立目录xferlog_enable是否激活日志功能chown_uploads修改匿名用户上传文件的所有者chown_username=whoever启用chown_uploads=YES时,指定为主用户账户,whoever表示你的ftp用户chroot*_local_user*设置是否将所有用户限制在其主目录chroot*_list_enable*设置是否启用限制用户的名单chroot*_list_file*设置是否限制/排除主目录下的用户名单,限制/排除有chroot localuser值决定allow*_writeable_choot*设置chroot目录的写权限

(2) FTP数据库文件说明

/etc/pam.d/vsftpd

vsftpd的PAM配置文件、主要用来加强vsftpd服务的用户认证

(3) FTP用户列表文件说明

/etc/vsftpd/ftpusers

所有位于此文件内的用户都不能。当然为了安全起见,这个文件种默认包括了root、bin和daemon等用户

(4) FTP拒绝访问列表说明

/etc/vsftpd/user_list

这个文件包括的用户可能是备拒绝访问vsftpd服务的,也可能是允许访问的。主要取决于/etc/vsftpd/vsftpd.conf种的参数是设置为还是

  • userlist_deny=NO时,仅允许文件中的用户访问FTP服务器
  • userlist_deny=YES时,反之

(5) FTP默认目录说明

/var/ftp文件夹

该文件夹是vsftpd提供服务的文件集散地,包括一个pub子目录。在默认配置下,所有的目录都只是只读的。

  1. vsftpd允许用户以3种认证模式登录到FTP服务器上。
    • 匿名用户:任何人都可以直接登录服务器
    • 本地用户:通过本地用户输入密码登录服务器
    • 虚拟用户:本身不存在、是一个虚拟出来的用户、就算黑客激活成功教程的用户信息也无法登录服务器
  2. 匿名用户登录的参数说明
    参数作用anonymous_enable=YES允许匿名用户访问anon_umask=022匿名用户上传文件的umask值anon_upload_enable=YES允许匿名用户上传文件anon_mkdir_write_enable=YES允许匿名用户创建文件anon_other_write_enable=YES允许匿名用户修改目录名称或删除目录
  3. 配置匿名用户登录FTP服务器实例

    题目要求:搭建一台FTP服务器,允许匿名用户上传和下载文件,匿名用户的根目录设置为/var/ftp

    新建测试文件 编辑主配置文件

     

    在文件后面编辑如下四行 最前面的是行号

     

    重启FTP服务器

     

    在windows客户端上输入打开pub目录

    打开运行 输入

    image-20240606160639131

    进入pub目录

    image-20240606161050976

    image-20240606161624945

    新建文件 发现会出错

    出错原因是什么呢?

    设置本地系统权限,将权限直接拉满

     

    在Windows客户端再次测试,在pub目录下创建新文件夹

    image-20240606162515641

一、FTP服务器配置要求

公司现在又一台FTP服务器和Web服务器,FTP主要用于维护公司网站内容,包括上传文件、创建目录、更新网页等。公司现在又两个部门负责维护任务。

二、要求分析

将FTP服务器和Web服务器在一起时企业经常采用的方法,这样方便维护网站,为了增强安全性,首先需要使用仅允许本地用户访问,并禁用匿名用户登录。。

三、解决方案

  1. 建立维护网站内容的FTP账号 并 禁止本地登录 为其设置密码
 
  1. 配置vsftpd.conf主配置文件增加或修改相应内容
     
  2. 建立/etc/vsftpd/chroot_list文件、添加team1、team2账号
     
  3. 创建测试文件 并赋予目录权限值
     
  4. 重启ftp服务
     
  5. 注意

    今天做这个实验的时候 发现了一个特别重要的点

    chroot_list的作用是限制文件内的用户固定在目录种

    • chroot_list=YES的话 可以访问所有目录 例如
    • chroot_list=No的话 不可以访问所有目录

四、测试

  1. 限制在本地目录的team1
     
  2. 不限制在本地用户的user1
     

一、要求:

使用虚拟用户user2、user3登录FTP服务器、访问主目录时/var/ftp/vuser,用户只允许查看文件、不允许上传、修改等操作

二、 创建用户数据库

三、创建用户文本文件

 

四、生成数据库

保存虚拟账号及密码的文本文件无法被系统账号直接调用 需要使用db_load命令生成db数据库文件

 

五、配置PAM文件

为了使服务器能够使用数据库问就按,对客户端进行身份验证,需要调用系统的PAM模块。

下面修改vsftpd对应的PAM配置文件/etc/pam.d/vsftpd、将默认配置使用“#”全部注释

 

六、编辑主配置文件

 

七、配置虚拟用户权限

 

八、创建测试文件

 

九、重启测试

 

(1) 主模式配置

 

(2) 被动模式配置

 

一、 要求

公司计划搭建FTP服务器、为客户提供相关文档下载。。公司的合作单位能够使用FTP服务器进行上传和下载,但不可删除数据,并且为保证服务器的稳定性,需要进行适当的优化设置。

二、 分析

对不同用户进行不同的权限限制,FTP服务器需要实现用户的审核。为了考虑安全性,关闭实体用户登录。使用虚拟用户验证机制。

三、 项目实施

四、创建用户数据库

  1. 创建用户数据库

    添加两个虚拟用户 ftps为公共用户 vip为客户用户

     
  2. 生成数据库
     

五、 配置PAM文件

  1. 修改文件
     

六、 编辑主配置文件

在最后面添加四行

 

七、 配置虚拟用户配置文件

 
  1. ftps配置文件
     
  2. vip配置文件
     

八、 创建共享目录和测试文件

 

九、 重启测试

ftps测试

  1. 下载和查看文件测试
     
  2. 上传文件测试
     
  3. 创建文件测试
     

vip测试

  1. 下载查看文件测试
     

    上传文件测试

     

    创建删除文件测试

     

  • 上一篇: 互联网 算法
  • 下一篇: 结构体的定义和使用
  • 版权声明


    相关文章:

  • 互联网 算法2024-12-29 10:01:00
  • axis2调用wsdl2024-12-29 10:01:00
  • java注解教程2024-12-29 10:01:00
  • cjson_replaceiteminobject2024-12-29 10:01:00
  • awr报告怎么看2024-12-29 10:01:00
  • 结构体的定义和使用2024-12-29 10:01:00
  • 装饰者模式应用场景2024-12-29 10:01:00
  • 显示器屏幕暗淡怎么办2024-12-29 10:01:00
  • 预测模型有哪些?2024-12-29 10:01:00
  • 服务器硬件介绍2024-12-29 10:01:00