FTP服务

FTP两种模式: 
主动模式服务器向客户端敲门,然后客户端开门 
被动模式客户端向服务器敲门,然后服务器开门

传输模式:可以是文本模式,也可以是二进制模式,二进制模式更适合传输图片等非文本字符的文件

匿名用户:不需要输入用户(多人共享一个) 
本地用户:本地的Linux登陆用户(每个共享用户的家目录) 
虚拟用户:不同于本地用户,可以创建一个匿名用户的FTP,跟Linux没有关系

 

FTP匿名用户服务搭建

首先查看服务端有没有vsftpd命令,没有则需要yum安装一下

yum装完vsftpd自然就有/var/ftp/pub的共享目录 
属主是root别的用户没有办法读写,所以需要把pub属主换成ftp,ftp程序用户系统默认就有

安装完vsftpd自然就有/etc/vsftpd/vsftpd.conf:ftp配置文件,为了安全先备份一份

vim打开ftp配置文件,配置如下

服务端ftp配置完成后启动ftp服务,启动完成后检查一下是否成功

因为服务端共享目录里没有文件,所以先创建一个

客户端只需要安装ftp命令就可以

ftp客户端登陆服务端,匿名用户名就是ftp,没有密码为空,所以直接回车

ls看一下当前,看到了pub,cd进去看到了sl 自然就证明了我已经连接到了服务端

ftp有很多命令跟linux不一样,所以需要help查看一下

在ftp里get代表下载,你当前在哪个目录登陆ftp就下载到哪个目录

 

在ftp里put代表上传命令,也只能上传客户端当前目录里的文件,不能是绝对路径上传

 

 

FTP本地用户服务搭建

首先先将配置完成后的匿名用户备份,在把初始的配置文件复制回来

因为是ftp本地用户搭建所以把匿名关闭,在把第96行的本地用户家目录取消注释并开启

 

因为是ftp本地用户服务所以需要先创建一个普通用户和密码用客户端ftp登陆服务端输入yunjisuan账号和密码

 

刚创建用户家目录没有任何东西,所有在服务端yunjisuan用户创建一个文件

在客户端ftp服务里ls看到了创建的新文件

/etc/vsftpd/ftpusers:FTP给用户加黑名单,优先级高于/etc/vsftpd/user_list可以通过配置文件将此修改为白名单

 

FTP虚拟用户服务搭建

首先需要把ftp本地用户服务备份,在把源配置文件复制回来

先查看系统是否有db_load命令,没有则需要安装ftp虚拟用户首先需要在/etc/vsftpd下创建密码文件

 

创建完密码文件需要弄db_load命令转换成数据文件,-T允许非程序使用该数据库 -t指定算法 hash -f代表加密,因为是密码,为了增加安全性需要给chmod 600 vusers.db权限

首先创建虚拟映射账号,因为指定了家目录所以给手动创建一个家目录并赋上755权限

手动建立此pam认证文件如下

 

首先把匿名用户关闭

 

把最下面配置文件

改成这样

配置完重启服务,就可以用客户端进行ftp登陆,因为是指定创建的家目录,所以需要去/var/ftproot创建点文件

ftp客户端登陆服务端,输入手动创建的虚拟账号密码,就可以看到刚才在服务端家目录创建的文件

因为刚才创建了2个账号密码,所以用第二个账号登陆,也看到了指定的服务端家目录文件

实现每个虚拟用户不同根目录,不同权限的管控,首先在/etc/vsftpd创建mkdir /vusers.dir目录,创建完进入目录touch 虚拟账号里的名字

vim手动打开/etc/vsftpd/vusers.dir/虚拟账号名

 
 
 

配置完手动mkdir -p /var/虚拟账号名,chown virtual /var/虚拟账号名:把账号属主换成virtual有读写权限

最后需要在/etc/vsftpd/vsftpd.conf手动填写

 

重启服务/etc/init.d/vsftpd reload后进入测试环境,手动在服务端家目录创建个文件

 
 

在客户端ftp登陆虚拟用户,文件正好是在服务端配置文件目录创建的文件

 

项目(一)ftp搭建的更多相关文章

  1. Linux(三)—— 项目部署环境搭建

    目录 项目部署环境搭建 一.linux上网 二.rpm包管理 1.光盘挂载 2.安装卸载rpm包 3.查询是否安装 4.查看软件包 5.互相依赖关系的软件包 三.yum包管理 1.使用aliyun的y ...

  2. 一个node项目的框架搭建流程

    项目服务端编程语言node,前端js,数据库mongodb, 开发工具用webstorm. 使用express应用生成器,生成项目雏形. 安装应用生成器工具,命令是npm install expres ...

  3. Eclipse+Tomcat+MAVEN+SVN项目完整环境搭建

    1.JDK的安装 首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底.安装完成之后当然要配置环境变量了. ————————————————— ...

  4. Eclipse4.6(Neon) + Tomcat8 + MAVEN3.3.9 + SVN项目完整环境搭建

    软件清单 jdk-8u102-windows-x64.exe eclipse-inst-win64.exe (Eclipse4.6 Neon) apache-tomcat-8.5.5-windows- ...

  5. Hadoop项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  6. iOS项目——基本框架搭建

    项目开发过程中,在完成iOS项目——项目开发环境搭建之后,我们首先需要考虑的就是我们的项目的整体框架与导航架构设计,然后在这个基础上考虑功能模块的完成. 一 导航架构设计 一款App的导航架构设计应该 ...

  7. Xlight FTP搭建FTP服务器教程

    Xlight FTP搭建FTP服务器教程 1. 服务器公共设置 设置FTP 端口, ip 等 FTP 服务器公共的设定 2. 设定 FTP 用户, FTP 目录 等信息    备注: 这个用户是非Wi ...

  8. ASP.NET MVC项目框架快速搭建实战

    MVC项目搭建笔记---- 项目框架采用ASP.NET MVC+Entity Framwork+Spring.Net等技术搭建,采用”Domain Model as View Model“的MVC开发 ...

  9. Hive项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  10. FTP 搭建

    FTP 搭建 FTP 是 File Transfer Protocol(文件传输协议)的英文简称,它工作在 0SI 模型的第七层,TCP 模型的第四屋上,即应用层. 一.FTP 简介 FTP 会话时包 ...

随机推荐

  1. 2、冒泡排序法(C语言)

    一.冒泡算法实现分析 1.假设有5个元素分别为8,6,15,9,3对其进行冒泡排序,我们需要关注的有三点如下: (1)元素个数 n: (2)需要比较的趟数 i: (3)每趟比较的次数 j: 2.它们之 ...

  2. php5.5.7添加pgsql,pdo_pgsql,swoole

    一:下载php源码sudo wget cn2.php.net/distributions/php-X.X.X.tar.gz 二:解压 tar xzf /php-X.X.X.tar.gz 三:进入源码e ...

  3. 浏览器打开aspx文件 ,提示:XML 解析错误:找不到根元素

    在使用VS2013这个IDE创建aspx文件后,在浏览器打开后居然发现了以下错误:XML 解析错误:找不到根元素         详细查看里面的信息,发现了这么一个链接位置:http://localh ...

  4. php正则表达式提取img alt/title标签并替换

    有时我们需要对富文本编辑器中的img标签进行必要的处理以满足网站自身的需要,比如:根据站点关键词对页面内img的alt标签设定关键词,以下为提取并替换alt/title标签内容的正则: $title ...

  5. 微信小程序中的组件使用2

    需求    上面两个页面是同一个小程序的不同页面,两个页面中都是用到了label,有相似的地方,但是也有不同之处,这个时候,如果我们想要将这些label做出组件,然后复用,有该怎么做呢? 基础组件 首 ...

  6. css中,在高度已知,写出三栏布局,其中左栏、右栏宽度各位300px,中间自适应

    解决方案主要有五种 首先写入全局样式 <style type="text/css"> html * { margin: ; padding: ; } .layout { ...

  7. TensorFlow代码初识

    直接看代码 import tensorflow as tf # tf.Variable生成的变量,每次迭代都会变化, # 这个变量也就是我们要去计算的结果,所以说你要计算什么,你是不是就把什么定义为V ...

  8. 排错技能:任务管理器中追踪某w3wp.exe是哪个IIS站点的application pool

    如果Windows的任务管理器中发现某个w3wp.exe占用了100%CPU,那我们就要揪出这是那个网站的application pool在作怪, 首先,每个站点一定要单独使用各自的applicati ...

  9. 用SVG做background image

    1 用utf8格式, 需要 双引号“”替换为单引号,而且采用url encode编码,例如# 替换为 %23, body { background-image: url("data:imag ...

  10. flutter 列表展示

    内容: 1.列表展示 2.轮播图 3.其他 本次的内容也是在上一节的基础上进行操作 我们就搞这个story模块. 目录: story.dart  story主页面 import 'package:fl ...