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地址,而不是客户机地址
    如果不指定,默认在所有接口监听

  • 相关阅读:
    第三周课程总结实验报告
    Java第二周学习总结
    2019春总结作业
    第十二周作业
    第十一周作业
    第十周作业
    第九周作业
    第八周作业
    第二周课程总结
    2019春总结
  • 原文地址:https://www.cnblogs.com/Hydraxx/p/7082217.html
Copyright © 2011-2022 走看看