zoukankan      html  css  js  c++  java
  • Ftp服务配置

     
    文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件、上传文件、下载文件。 FTP 基于TCP协议生成一个虚拟的连接,主要用于控制FTP连接信息,同时再生成一个单独的TCP连接用于FTP数据传输。用户可以通过客户端向FTP服务器端上传、下载、删除文件,FTP服务器端可以同时提供给多人共享使用。
    FTP服务是Client/Server(简称C/S)模式,基于FTP协议实现FTP文件对外共享及传输的软件称之为FTP服务器源端,客户端程序基于FTP协议,则称之为FTP客户端,FTP客户端可以向FTP服务器上传、下载文件。
    1、FTP传输模式
    FTP基于C/S模式,FTP客户端与服务器端有两种传输模式,分别是FTP主动模式、FTP被动模式,主被动模式均是以FTP服务器端为参照。主被动模式如图1-2(a)、1-2(b)所示,主被动模式详细区别如下:
    (1)FTP主动模式:客户端从一个任意的端口N(N>1024)连接到FTP服务器的port 21命令端口,客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器,FTP服务器以数据端口(20)连接到客户端指定的数据端口(N+1)。
    (2)FTP被动模式:客户端从一个任意的端口N(N>1024)连接到FTP服务器的port 21命令端口,客户端开始监听端口N+1,客户端提交 PASV命令,服务器会开启一个任意的端口(P >1024),并发送PORT P命令给客户端。客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。
    在企业实际环境中,如果FTP客户端与FTP服务端均开放防火墙,FTP需以主动模式工作,这样只需要在FTP服务器端防火墙规则中,开放20、21端口即可。关于防火墙配置后面章节会讲解。
    2、Vsftpd服务器简介
    目前主流的FTP服务器端软件包括:Vsftpd、ProFTPD、PureFTPd、Wuftpd、Server-U FTP、FileZilla Server等软件,其中Unix/Linux使用较为广泛的FTP服务器端软件为Vsftpd 。
    非常安全的FTP服务进程(Very Secure FTP daemon,Vsftpd),Vsftpd在Unix/Linux发行版中最主流的FTP服务器程序,优点小巧轻快,安全易用、稳定高效、满足企业跨部门、多用户的使用等。
    3、Vsftpd服务器安装配置
    Vsftpd服务器端安装有两种方法,一是基于YUM方式安装,而是基于源码编译安装,最终实现效果完全一致,本文采用YUM安装Vsftpd,步骤如下:
    [root@lvs_S ~]# yum install -y vsftpd
    [root@lvs_S ~]# vim /etc/vsftpd/vsftpd.conf     配置文件
    [root@lvs_S ~]# grep -Ev '^#|^$' /etc/vsftpd/vsftpd.conf  
    anonymous_enable=YES   开启匿名用户访问;
    local_enable=YES      启用本地系统用户访问;
    write_enable=YES      本地系统用户写入权限;
    local_umask=022      本地用户创建文件及目录默认权限掩码;
    dirmessage_enable=YES   打印目录显示信息,通常用于用户第一次访问目录时,信息提示;
    xferlog_enable=YES      启用上传/下载日志记录;
    connect_from_port_20=YES  FTP使用20端口进行数据传输;
    xferlog_std_format=YES     日志文件将根据xferlog的标准格式写入;
    listen=NO Vsftpd        不以独立的服务启动,通过Xinetd服务管理,建议改成YES;
    listen_ipv6=YES         启用IPV6监听;
    pam_service_name=vsftpd     登录FTP服务器,依据/etc/pam.d/vsftpd中内容进行认证;
    userlist_enable=YES       Vsftpd.user_list和ftpusers配置文件里用户禁止访问FTP;
    tcp_wrappers=YES       设置vsftpd与tcp wrapper结合进行主机的访问控制,Vsftpd服务器检查/etc/hosts.allow 和/etc/hosts.deny中的设置,来决定请求连接的主机,是否允许访问该FTP服务器。
    

    [root@lvs_S ~]# systemctl start vsftpd      启动服务

    [root@lvs_S ~]# cd /var/ftp/pub/                  服务端路径

    [root@lvs_S ftp]# ll
    total 0
    drwxr-xr-x. 2 root root 15 Nov  9 03:49 pub

    Windows测试连接:

    默认权限只有可读;


  • 相关阅读:
    java web spring challenge01
    eclipse的一个小失误
    创建线程的方式三:实现Callable接口。 --- JDK 5.0新增
    线程通信的应用:经典例题:生产者/消费者问题
    8.5 练习
    8.4 练习1
    LockTest.java
    DeadLock.java
    线程死锁
    使用同步机制将单例模式中的懒汉式改写为线程安全的
  • 原文地址:https://www.cnblogs.com/Dev0ps/p/7810116.html
Copyright © 2011-2022 走看看