ftp 基础服务器基础知识

ftp有三种登录方式。匿名登录(所有用户)、本地用户、虚拟用户(guest)。

FTP工作模式

主动模式:服务端从20端口主动向客户端发起链接。 控制端口21;数据传输端口20

过程:客户端从一个任意的非特权端口N(N>1024)向FTP服务器的命令端口(默认是21)发送请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端开始监听端口N+1,并在命令链路上用PORT命令发送N+1端口到FTP服务器,于是服务器会从自己的数据端口(20)向客户端指定的数据端口(N+1)发送连接请求,建立一条数据链路来传送数据。

被动模式:服务端在指定范围内某个端口被动等待及客户端链接。 控制端口21;数据传输端口 随机

过程:客户端从一个任意的非特权端口N(N>1024)向FTP服务器的命令端口(默认是21)发送请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PASV命令发送。于是服务器会开启一个任意的非特权端口P(P>1024),并在命令链路上把端口发送给客户端,然后客户端从自己的数据端口(N+1)向服务器的数据端口(P)发送连接请求,建立一条数据链路来传送数据。

优缺点

主动FTP对服务器管理有利,但对客户端管理不利,因为会在客户端产生随机端口建立连接,可能会被防火墙阻止。

被动FTP对客户端管理有利,但对服务球管理不利,因为在服务端建立连接时为随机端口,也可能会被防火墙阻止。

设置方式

主动模式
Port_enable=YES #开启主动模式
Connect_from_port_20=YES #当主动模式开启的时候 是否启用默认的20端口监听
Ftp_date_port=%portnumber% #上一选项使用NO参数时 指定数据传输端口 被动模式
PASV_enable=YES          #开启被动模式
PASV_min_port=%number%       #被动模式最低端口
PASV_max_port=%number%       #被动模式最高端口

传输方式

文本模式:ASCII模式,以文本序列传输数据

二进制模式:Binary模式,以二进制序列传输数据

设置虚拟用户登录ftp服务器
  1. yum 安装 vsftpd 服务,启动。

  2. 创建本地用户指定 shell 和本地目录。方便映射虚拟用户

    useradd load -s /sbin/nologin -d /var/ftp/work
    chmod 755 /var/ftp/work
  3. 创建虚拟用户文件,并生成db文件,加入到pam 认证模块中

    vim /etc/vsftpd/v_users
    #这个文件中一行账户名,一行密码

    db_load -T -t hash -f v_users vusers.db

    vim /etc/pam.d/vsftpd #注释上面的原文件,加入下面的配置
    auth       required   /usr/lib64/security/pam_userdb.so   db=/etc/vsftpd/vusers
    account     required   /usr/lib64/security/pam_userdb.so   db=/etc/vsftpd/vusers
  4. 创建虚拟用户的配置目录,管理不同的虚拟账号。

    #在主配置文件中设置虚拟用户的配置目录
    vim /etc/vsftpd/vsftpd.conf
    ser_config_dir=/etc/vsftpd/vconf.d

    allow_writeable_chroot=YES ##允许对 禁锢的ftp根目录执行写入操作,而且不拒绝用户的登录请求

    再到目录中去创建和账号名一样的文件。

    vim /etc/vsftpd/vconf.d/userf
    guest_enable=YES #允许这个虚拟账号访问
    guest_username=load #此虚拟账号映射的本地账号
    local_root=/data/ftp/work #可以设置登录后禁锢的目录,此项这次没有使用

    anon_world_readable_only=no #下载的权限
    anon_upload_enable=YES #上传的权限
    anon_mkdir_write_enable=YES #创建文件夹
    anon_other_write_enable=YES #删除和重命名



    #tips:在自己的配置文件中不允许有空格,特别是最后一行不能为空

使用vsftpd 搭建ftp服务的更多相关文章

  1. vsftpd搭建ftp服务,并实现虚拟用户访问

    安装vsftpd服务: yum install vsftpd -y [root@wadeson ~]# rpm -ql vsftpd /etc/logrotate.d/vsftpd /etc/pam. ...

  2. FTP相关、用vsftpd搭建ftp、xshell使用xftp传输文件、使用pure-ftpd搭建ftp服务

    1.FTP相关(file transfer protocol,文件传输协议)   2.用vsftpd搭建ftp安装:yum install vsftpd -y创建一个虚拟用户:useradd  vft ...

  3. FTP 基础 与 使用 Docker 搭建 Vsftpd 的 FTP 服务

    FTP 基础 与 使用 Docker 搭建 Vsftpd 的 FTP 服务 前言 最近的工作中,需要将手机上的文件发送到公司的 FTP 的服务器.按照从前的思路,自然是,先将文件传到电脑,再由电脑上传 ...

  4. xshell使用xftp传输文件 使用pure-ftpd搭建ftp服务

    xshell使用xftp传输文件 下载xftp5 https://www.baidu.com/link?url=8rtxgX3JRIbUFO1Samzv5aXhfwRG7Cf8i4vi573QexoH ...

  5. exportfs命令 NFS客户端问题 FTP介绍 使用vsftpd搭建ftp

    exportfs命令 • 常用选项 • -a 全部挂载或者全部卸载 • -r 重新挂载 • -u 卸载某一个目录 • -v 显示共享目录 • 以下操作在服务端上 • vim /etc/exports ...

  6. RHEL 6 搭建ftp服务 xinetd,telnet

    1.挂载光盘 设置vmware中光驱选项,载入rhel6光盘镜像 6 搭建ftp服务 xinetd,telnet" /> 2.安装rpm包 输入"#cd /media/&qu ...

  7. exportfs命令、NFS客户端问题、FTP介绍、使用vsftpd搭建ftp

    6月22日任务 14.4 exportfs命令14.5 NFS客户端问题15.1 FTP介绍15.2/15.3 使用vsftpd搭建ftp 14.4 exportfs命令 当我们修改nfs的配置文件e ...

  8. xshell使用xftp传输文件、使用pure-ftpd搭建ftp服务

    6月25日任务 15.4 xshell使用xftp传输文件15.5 使用pure-ftpd搭建ftp服务扩展vsftp使用mysql存放虚拟用户并验证 http://www.aminglinux.co ...

  9. centos7中搭建ftp服务

    博客搬家: centos7中搭建ftp服务 最近想和同学共享一些文件资源,于是在实验室服务器上搭建个ftp服务,本博客记录一下配置的流程.过程基本是参照别人的方法来做的,博客也是在别人博客基础上修改的 ...

随机推荐

  1. PHP的zip压缩工具扩展包学习

    总算到了 PHP 的拿手好戏上场了,前面我们学习过 Bzip2 . LZF . Phar 和 rar 这些压缩相关扩展在 PHP 中的使用,不过它们要么是太冷门,要么就是很多功能不支持.而 Zip 则 ...

  2. python 语法规范

    在python shell 中输入 import this 可以看到python之禅 The Zen of Python, by Tim Peters Beautiful is better than ...

  3. 一文让你彻底理解SQL连接查询

    表结构 内连接 笛卡尔积问题 普通内连接:inner join on 隐式内连接: 外连接 内连接与外连接查询的区别 内连接查询是查询两张表交集的数据,主外键关联的数据. 左连接查询是查询左表中的所有 ...

  4. jmeter旅程第二站:jmeter登录接口测试

    因为上一篇已经讲了jmeter抓包,那么接下来会将讲解jmeter接口测试. 这里以浏览器为例. 从简到繁,那么首先先以比较常见的登录做实例. 目前登录操作有这几种:账户是否存在.账户密码登录.验证码 ...

  5. 华为云计算IE面试笔记-请描述华为容灾解决方案全景图,并解释双活数据中心需要从哪些角度着手考虑双活设计

    容灾全景图: 按照距离划分:分为本地容灾 同城容灾 异地容灾  本地容灾包括本地高可用和本地主备.(本数据中心的两机房.机柜) 本地高可用这个方案为了保持业务的连续性,从两个层面来考虑: ①一个是从主 ...

  6. JVM-对象的实例化,内存布局与访问定位

    1.对象的实例化 提到对象的实例化,我们可能会想到几个问题.对象在JVM中是怎么存储的?对象里面有什么?接下来,我们就来探讨一下对象的实例化以及回答一下这两个问题. 首先我们用图例来说明对象的实例化: ...

  7. Spring面试复习整理

    Spring Spring核心分为三方面: 控制反转(IoC): 就是将创建对象的权利交给框架处理/控制,不需要人为创建,有效降低代码的耦合度,降低了开发成本. 依赖注入(DI): 容器动态地将将某种 ...

  8. 面试官问我MySQL调优,我真的是

    面试官:要不你来讲讲你们对MySQL是怎么调优的? 候选者:哇,这命题很大阿...我认为,对于开发者而言,对MySQL的调优重点一般是在「开发规范」.「数据库索引」又或者说解决线上慢查询上. 候选者: ...

  9. 深入理解Java虚拟机之JVM内存布局篇

    内存布局**** ​ JVM内存布局规定了Java在运行过程中内存申请.分配.管理的策略,保证了JVM的稳定高效运行.不同的JVM对于内存的划分方式和管理机制存在部分差异.结合JVM虚拟机规范,一起来 ...

  10. 题解 CF833D Red-Black Cobweb

    题目传送门 题目大意 给出一个 \(n\) 个点的树,每条边有边权和颜色 \(0,1\) ,定义一条链合法当且仅当 \(0,1\) 颜色的边数之比小于等于 \(2\) ,求所有合法的链的边权之积的积. ...