zoukankan      html  css  js  c++  java
  • linux-FTP服务常用命令及测试

    一、vsftpd服务的安装,启动及关闭
    1、安装vsftpd
    [root@rusky bdump]# yum install vsftpd --必须配置yum源才能使用yum命令来安装vsftpd,或者挂载光盘,找到Packages目录下的vsftpd包,使用rpm命令安装
    ……
    Installed:
    vsftpd.x86_64 0:2.0.5-24.el5

    Complete!

    2、vsftpd服务的启动及关闭
    [root@rusky bdump]# chkconfig --list vsftpd
    vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

    [root@rusky bdump]# chkconfig --level 35 vsftpd on

    [root@rusky bdump]# service vsftpd restart --启动/关闭命令为:service vsftpd start/stop
    Shutting down vsftpd: [FAILED]
    Starting vsftpd for vsftpd: [ OK ]

    [root@rusky bdump]# service vsftpd status
    vsftpd (pid 5087) is running...
    [root@rusky bdump]#

    二、文件的上传及下载
    1、ftp服务器的连接
    G: estftp>ftp  -或者直接:ftp IP/主机名连接
    ftp> open 192.168.1.200
    连接到 192.168.1.200。
    220 (vsFTPd 2.0.5)
    用户(192.168.1.200:(none)): root    --默认不能使用root用户
    530 Permission denied.
    登录失败。
    ftp> open 192.168.1.200
    已经连接到了 192.168.1.200,请首先使用断开连接。
    ftp> disconnect
    221 Goodbye.
    ftp> open 192.168.1.200
    连接到 192.168.1.200。
    220 (vsFTPd 2.0.5)
    用户(192.168.1.200:(none)): oracle
    331 Please specify the password.
    密码:
    230 Login successful.
    ftp> loc
    无效命令。
    ftp> lcd
    目前的本地目录 G: estftp。
    ftp>

    2、下载文件
    下载文件使用get和mget这两个命令
    a.使用get命令将远程服务器上/home/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora这个文件下载到本地当前目录。
    ftp> get /home/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora tnsnams.ora
    200 PORT command successful. Consider using PASV.
    150 Opening BINARY mode data connection for /home/oracle/product/10.2.0/db_1/network/admin/tnsnames.
    226 File send OK.
    ftp: 收到 719 字节,用时 0.00秒 719.00千字节/秒。
    ftp> lcd
    目前的本地目录 G: estftp。
    ftp>

    b.将远程服务器上的文件下载到指定目录
    ftp> get /home/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora C:UsersAdministratorDesktop nsnames.ora_bak
    200 PORT command successful. Consider using PASV.
    150 Opening BINARY mode data connection for /home/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora (719 bytes).
    226 File send OK.
    ftp: 收到 719 字节,用时 0.00秒 719000.00千字节/秒。

    c.使用mget命令将远程服务器上/home/oracle/test目录下的所有文件下载到本地当前目录(指定目录无效)
    ftp> mget /home/oracle/test/ G: estftp estmget
    mget /home/oracle/test/2.log?
    mget /home/oracle/test/3.log?
    ------------------------
    此时每下载一个文件,都会有提示。如果要除掉提示,则在执行mget命令前先执行:prompt off
    注意:文件都下载到了linux主机的当前目录下。
    ------------------------
    ftp> prompt off
    交互模式 关 。
    ftp> mget /home/oracle/test G: estftp
    ftp>

    3、上传文件到远端服务器
    a.将本地一个文件传送到远程主机
    ftp> put test.ora /home/oracle/test/test2.ora --必须指定上传到远程目录后的文件名
    200 PORT command successful. Consider using PASV.
    150 Ok to send data.
    226 File receive OK.
    ftp: 发送 719 字节,用时 0.00秒 719000.00千字节/秒。
    ftp>

    b.使用mput把本地当前目录下的所有文件上传到远程机器指定目录下(注意:上传文件都来自于主机的当前目录下)
    ftp> mput * /home/oracle/test
    mput 111.log?
    mput 222.log?
    mput 333.ora?
    mput testmget? n
    /home/oracle/test:
    ftp>

    4、断开连接
    ftp> quit

    ftp> bye

    5、常用的命令
    ls 列出远程机的当前目录
    cd 在远程机上改变工作目录
    lcd 在本地机上改变工作目录 !dir 查看本地计算机的目录及文件,类似ls命令
    ascii 设置文件传输方式为ASCII模式
    binary 设置文件传输方式为二进制模式
    close 终止当前的ftp会话
    hash 每次传输完数据缓冲区中的数据后就显示一个#号
    get(mget) 从远程机传送指定文件到本地机
    put(mput) 从本地机传送指定文件到远程机
    open 连接远程ftp站点
    断开与远程机的连接并退出ftp
    ? 显示本地帮助信息
    ! 转到Shell中

    三、FTP服务概要

    1、  FTP服务的端口号

    21端口:传输FTP的控制命令

    20端口:传输文件数据

    2、  FTP的数据传输模式

      主动模式

    FTP客户端向服务器的FTP控制端口(21端口)发出连接请求,服务器接受连接,建立一条命令链路;当需要传输数据时,客户端在命令链路上用PORT命令告诉服务器,自己打开了某个端口,服务器从20端口向客户端的指定端口发出连接请求,建立一条数据链路来传送数据。(ftp>sendport)

      被动模式

    FTP客户端向服务器的FTP控制端口(21端口)发出连接请求,服务器接受连接,建立一条命令链路;当需要传输数据时,服务器在命令链路上用PASV命令告诉客户端,自己打开了某个端口,客户端向服务器的指定端口发出连接请求,建立一条数据链路来传送数据。(ftp>passive)

    3、  FTP服务器软件

     Wu-ftpd —— www.wu-ftpd.org

     Proftpd —— www.proftpd.org

     vsftpd —— vsftpd.beasts.org

    4、  FTP客户端软件

      ftp命令

      gftp —— gftp.seul.org

      Filezilla —— filezilla.sourceforge.net(windows下的开放源代码的FTP客户端)

    5、  服务器和客户端之间的防火墙设置策略

    对于工作在主动模式下的服务器:

    • 允许FTP客户端从大于1024的端口连接FTP服务器的21端口
    • 允许FTP服务器从21端口回应FTP客户端大于1024端口的网络连接
    • 允许FTP服务器从20端口主动连接FTP客户端中大于1024的端口
    • 允许FTP客户端从大于1024的端口回应来自FTP服务器的20端口的网络连接

    对于工作在被动模式下的服务器:

    • 允许FTP客户端从大于1024的端口连接FTP服务器的21端口
    • 允许FTP服务器从21端口回应FTP客户端大于1024端口的网络连接
    • 允许FTP客户端从大于1024的端口主动连接FTP服务器中大于1024的端口
    • 允许FTP服务器从大于1024的端口回应来自FTP客户机大于1024端口的网络连接

    2)vsftpd服务器的配置文件

    • 主配置文件——/etc/vsftpd/vsftpd.conf

        vsftpd.conf文件中常用的配置:

      anonymous_enable :设置为YES时,FTP服务器允许匿名登录。

      local_enable :设置为YES时,FTP服务器允许本地用户登录。

      write_enable :设置为YES时,FTP服务器开放对本地用户的写权限。

      local_umask :设置本地用户的文件生成掩码,配置文件中设置为022。

      dirmessage_enable :设置为YES时,将显示目录下的“.message”隐含文件内容。

      xferlog_enable :设置为YES时,FTP服务器将启用上传和下载日志。

      xferlog_std_format :设置为YES时,FTP服务器将使用标准的ftpd xferlog日志格式。

      connect_from_port_20 :设置为YES时,FTP服务器将启用数据端口(20)的连接请求。

      pam_service_name :设置PAM认证服务的配置文件名称,该文件保存在“/etc/pam.d”目录下。

      userlist_enable :设置为YES时,FTP服务器将检查userlist_file设置文件中指定的用

    户是否可以访问vsftpd服务器;userlist_file配置项的默认值是“/etc/vsftpd.user_list”文件。

      userlist_deny :设置为YES时,vsftpd.user_list文件用于设置禁止登录的用户账号;

                             设置为NO时,vsftpd.user_list文件用于设置允许登录的用户账号。

      listen :设置为YES时,FTP服务器处于独立启动模式(相对于受xinetd管理的启动模式)。

     tcp_wrappers :设置为YES时,FTP服务器将使用tcp_wrappers作为主机访问控制方式。

     tcp_wrappers可以实现Linux系统中网络服务的基于主机地址的访问控制,在“/etc”目录中的hosts.allow(允许访问记录)和hosts.deny(拒绝访问记录)两个文件用于设置tcp_wrappers的访问控制。

      chroot_local_user :设置为YES时,vsftpd服务器将会把本地用户禁锢在用户宿主目录中。

      max_clients :用于设置FTP服务器所允许的最大客户端连接数,0表示无限制。

      max_per_ip :用于设置对于同一IP地址允许的最大客户端连接数,0表示无限制。

      local_max_rate :设置本地用户的最大传输速率,单位为B/s,0表示不限制。

      anon_max_rate :设置匿名用户的最大传输速率,单位为B/s,0表示不限制。

    • /etc/vsftpd.ftpusers文件

    保存不允许进行FTP登录的本地用户帐号,通常是在系统中具有较高权限的帐户。

    • /etc/vsftpd.user_list文件

    需要与vsftpd.conf文件中的配置结合来实现对/etc/vsftpd.user_list文件中指定的用户帐号的访问控制。

    userlist_enable=YES     //  FTP服务器将检查userlist_file设置文件中指定的用

    户是否可以访问vsftpd服务器。

    userlist_deny=YES      //  vsftpd.user_list文件用于设置禁止登录的用户账号;

    userlist_deny= NO      //  vsftpd.user_list文件用于设置允许登录的用户账号。

  • 相关阅读:
    故障转移集群的仲裁
    部署AlwaysOn第一步:搭建Windows服务器故障转移集群
    行级安全(Row-Level Security)
    B-树和B+树的应用
    SpringMVC之HandlerAdapter解析
    SpringMVC 请求响应流程
    Java热部署相关
    ZooKeeper实现分布式锁
    Redis整合Spring实现分布式锁
    分布式锁原理及实现方式
  • 原文地址:https://www.cnblogs.com/rusking/p/4378275.html
Copyright © 2011-2022 走看看