zoukankan      html  css  js  c++  java
  • linux ftp及C/S服务架构

    乱码转换工具
    使用convmv软件:windows中文字符编码为GB2312
    linux中文字符编码为utf-8
    选项:
    -f:源文件中中文字符编码
    -t:转换成字符编码
    -r:代表递归
    --notest:不测试,直接转换
    [root@hydraxx]#convmv -f GB2312 -t utf-8 -r --notest
    ————————————————————————————————————————————————————————————

    搭建FTP服务
    [root@hydraxx 桌面]#yum -y install vsftpd (安装vsftpd)
    [root@hydraxx 桌面]# chkconfig vsftpd on(设置随机自启)
    [root@hydraxx 桌面]# chkconfig vsftpd --list(查看状态)
    vsftpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
    [root@hydraxx 桌面]#/etc/init.d/vsftpd status(开启服务,默认共享文件夹为/var/ftp/)
    [root@hydraxx 桌面]# mkdir -p /var/ftp/iso/rhel6(创建仓库目录)
    [root@hydraxx ~]# mount -o loop /ISO/rhel-server-6.7-x86_64-dvd.iso /var/ftp/iso/rhel6/(本地挂载镜像需要加-o loop选项)
    [root@hydraxx ~]# vim /etc/fstab(开机自动挂载)
    /ISO/rhel-server-6.7-x86_64-dvd.iso /var/ftp/iso/rhel6/ iso9660 defaults,loop 0 0(写上配置)
    [root@hydraxx ~]# umount /var/ftp/iso/rhel6/(卸载挂载点)
    [root@hydraxx ~]# ls /var/ftp/iso/rhel6/(测试自动挂载)
    EFI EULA_it HighAvailability README ScalableFileSystem
    EULA EULA_ja images release-notes Server
    EULA_de EULA_ko isolinux repodata TRANS.TBL
    EULA_en EULA_pt LoadBalancer ResilientStorage
    EULA_es EULA_zh media.repo RPM-GPG-KEY-redhat-beta
    EULA_fr GPL Packages RPM-GPG-KEY-redhat-release

    [root@hydraxx 桌面]# vim /root/.bashrc (创建别名)
    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'
    alias goa='ssh -X root@192.168.4.5'
    alias gob='ssh -X root@192.168.4.205'
    ———————————————————————————————————————————————————————
    ssh设置公钥验证
    [root@hydraxx 桌面]# ssh-keygen (生成公钥和私钥)
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): (公钥私钥为于/root/.ssh)
    /root/.ssh/id_rsa already exists.
    Overwrite (y/n)? y
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    80:d1:60:da:be:5d:53:23:e8:50:25:09:f7:b0:fd:f0 root@hydraxx
    The key's randomart image is:
    +--[ RSA 2048]----+
    | =+=o. |
    | + =oB |
    | . + + = o |
    | . o . * . |
    | . . S E |
    | o . . |
    | . . |
    | |
    | |
    +-----------------+
    [root@hydraxx 桌面]# ls /root/.ssh/(查看公钥和私钥)
    authorized_keys id_rsa id_rsa.pub
    [root@hydraxx 桌面]# ssh-copy-id root@192.168.4.5(把公钥复制到需要远程管理的主机上,以后远程就不要输入密码)

    ————————————————————————————————————————————————————————————

    C/S服务架构
    典型服务模式:C/S,Client/Server
    由服务器提供资源或者某种功能
    客户机使用资源或功能


    服务端:能够提供某种资源或者功能的应用程序
    需要在服务器上监听某个ip地址的某个端口

    客户端:能够访问某种资源或功能的应用程序
    能够通过ip地址,端口号连接到服务端程序

    应用层协议:服务端与客户端共同遵守的一套通信协议

    常见网络服务:
    ————————————————————————————+
    类型 | 资源,功能 | 应用层协议 |
    文件传输 | 文件下载,上传 | FTP |
    网站 | 网页浏览 | HTTP |
    域名 | 互联网地址查询 | DNS |
    远程装机 | 操作系统安装 | DHCP,PXE |
    虚拟化 | 虚拟机 | ----- |
    邮件 | 发收邮件 | SMTP,POP3,IMAP |
    远程同步 | 增量备份,目录镜像| RSYNC |
    ————————————————————————————+

    FTP服务概述:基于C/S结构的文件传输协议
    FTP会话层属于复合TCP连接:
    控制连接:TCP 21 端口,发送FTP命令信息
    数据连接:TCP 20 端口,上传数据

    数据连接模式
    主动模式:服务端2端口—主动连接—》客户端
    被动模式:服务端xx端口《—被动连接—客户端
    xx端口范围需预先限定

    传输模式
    文本模式:ASCLL模式,文本序列传输
    二进制模式:Binary模式,二进制序列传输

    FTP用户类型
    匿名用户:ftp或Anonymous
    本地用户:Linux服务器本机系统用户账号
    虚拟用户:账号信息存放在独立的文件或数据库内

    vsftpd服务基础
    服务程序和脚本
    服务程序:/usr/sbin/vsftpd
    系统服务脚本:/etc/init.d/vsftpd
    配置目录:/etc/vsftpd
    主配置文件:vsftpd.conf

    ftp命令工具
    格式:ftp 服务器地址
    根据提示登陆(匿名用户可任意密码)
    [root@svr5 ~]# ftp 192.168.4.254
    Connected to 192.168.4.254 (192.168.4.254).
    220 (vsFTPd 2.2.2)
    Name (192.168.4.254:root): anonymous
    331 Please specify the password.
    Password:
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp>
    在ftp>中输入?可获取指令列表
    下载:get/mget,wget
    上传:put/mput
    lcd切换本地目录,quit或by退出
    利用!可调出外部shell命令操作

    常用的全局配置FTP配置(启用为yes,关闭为no)
    listen:是否以独立运行的方式监听服务
    listen_address:设置监听FTP服务的ip地址
    listen_port:设置监听FTP服务的端口
    write_enable:是否启用写入权限
    download_enable:是否允许下载
    anonymous_enable:是否启用匿名访问
    anon_root:匿名FTP的根目录
    local_root:本地用户的FTP根目录
    local_umask:本地用户上传的权限掩码
    chroot_local_user:是否禁锢再主目录

    用户访问控制
    黑名单文件:/etc/vsftpd/ftpusers列入其中的用户被紧=禁止访问
    黑/白名单文件:/etc/vsftpd/user_list
    userlist_enable=yes
    userlist_deny=yes|no
    由userlist_enable决定时是否启动此文件
    当userlist_deny=yes时,此文件黑名单,否则为白名单

    FTP连接及传输控制
    并发数限制,宽带限制
    max_clients:限制并发的客户端个数
    max_pre_ip:限制每个客户机ip的并发连接数
    anon_max_rate:匿名最大速度(字节/秒)
    local_max_rate:验证用户最大速度(字节/秒)

    服务监听地址
    概念:
    系统服务在哪一个网络接口提供服务
    比如 listen_address=192.168.1.1
    指的是服务器的某一个ip地址,而不是客户机地址
    如果不指定,默认在所有接口监听

  • 相关阅读:
    centos7.6 使用yum安装mysql5.7
    解决hadoop本地库问题
    docker-compose 启动警告
    docker 安装zabbix5.0 界面乱码问题解决
    docker 部署zabbix问题
    zookeeper 超时问题
    hbase regionserver异常宕机
    (转载)hadoop 滚动升级
    hadoop Requested data length 86483783 is longer than maximum configured RPC length
    zkfc 异常退出问题,报错Received stat error from Zookeeper. code:CONNECTIONLOSS
  • 原文地址:https://www.cnblogs.com/Hydraxx/p/7082217.html
Copyright © 2011-2022 走看看