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. Grid 网格布局详解

    Grid网格布局详解: Grid布局与Flex布局有着一定的相似性,Grid布局是将容器划分成行和列,产生单元格,可以看做是二维布局. 基本概念: 采用网格布局的区域,称为"容器" ...

  2. php去除html标签

    function cutstr_html($string){ $string = strip_tags($string); $string = preg_replace(["\t" ...

  3. JDK1.8源码(三)——java.lang.String类

    一.概述 1.介绍 String是一个final类,不可被继承,代表不可变的字符序列,是一个类类型的变量.Java程序中的所有字符串字面量(如"abc")都作为此类的实例实现,&q ...

  4. chrome 的 options 参数

    在使用selenium浏览器渲染技术,爬取网站信息时,默认情况下就是一个普通的纯净的chrome浏览器,而我们平时在使用浏览器时,经常就添加一些插件,扩展,代理之类的应用.相对应的,当我们用chrom ...

  5. K8s一键安装

    安装案例: 系统:Centos可以多台Master(Master不能低于3台)多台Node此案例使用三台Master两台Node,用户名root,密码均为123456 master 192.168.2 ...

  6. Java学习之随堂笔记系列——day02

    昨天内容回顾1.安装jdk和配置环境变量 配置JAVA_HOME和path,只要配置成功之后就可以直接使用java和javac命令.2.HelloWorld案例3.java的基础语法 注释:给程序的解 ...

  7. PyCharm取消波浪线

    步骤:settings->Editor->Color Scheme->General->(右侧)Errors and Warnings->Weak Warning-> ...

  8. 『GoLang』string及其相关操作

    目录 1. 字符串简介 2. 字符串的拼接 3. 有关 string 的常用处理 3.1 strings 包 3.1.1 判断两个 utf-8 编码字符串是否相同 3.1.2 判断字符串 str 是否 ...

  9. Python第3方模块安装

    前言: 我们在实际开发过程中,很多模块是Python没有自带的,所以我们使用模块前需要先安装第三方模块. 在线安装: 1.为了简便cmd指令操作,建议先打开Python目录下的Scripts文件夹下, ...

  10. SVN基本配置--创建版本库(图文并茂)

    SVN基本配置简 上一篇介绍了VisualSVN Server和TortoiseSVN的下载,安装,汉化.这篇介绍一下如何使用VisualSVN Server建立版本库,以及TortoiseSVN的使 ...