记录阿里巴巴QA架构组成长点滴。2008年关键词为效率,技术,影响力!QA/测试架构师定义:开发和设计测试框架测试库;纵横全局的考虑产品的功能,设计复杂的测试系统;负责研发某一项特定的测试技术;为公司考虑如何提高测试效率。领导公司测试技术的发展和测试策略上的方向,关注整个公司的测试部门的问题,前瞻性的考虑未来的版本的测试策略和技术。测试架构师计划/设计测试平台,关注着产品的测试过程,提供咨询服务,影响到公司内的测试机构测试社区,以及开发机构等,对产品各个方面施加深远而正确的影响,最终提高整体软件质量。

发布新日志

  • 虚拟化技术与vmware简介

    2008-11-22 22:13:04

    之前做过一部分工作是测试环境的构建和维护,主要是利用虚拟机构建多样的测试环境。目前阿里巴巴主要是linux平台,虚拟机使用的是linuxXen(准虚拟化技术),vmware未必会用到,但虚拟化技术应用是趋势,在此把对虚拟机了解的一些情况分享出来,大家可以做个了解,希望也可以对广大的测试同行有所帮助。

      
    一、常见四种虚拟化技术及其对比(请参考高人的文章,原文在http://www.vpshosting.cn/vps/2007/0302/content_264.htm,我是了解和使用,算一名发烧友吧)
      
    虚拟技术1
    硬件分区:硬件资源被划分成数个分区,每个分区享有独立的CPU、内存,并安装独立的操作系统。主要用在大型服务器上。
       
    虚拟技术2-虚拟机技术:不再对底层的硬件资源进行划分,而是部署一个统一的Host系统。在Host系统上,加装了Virtual Machine Monitor,虚拟层作为应用级别的软件而存在,不涉及操作系统内核。虚拟层会给每个虚拟机模拟一套独立的硬件设备,包含CPU、内存、主板、显卡、网卡等硬件资源,在其上安装所谓的Guest操作系统。最终用户的应用程序,运行在Guest操作系统中。 
      
    虚拟技术3-准虚拟化技术:为了改善虚拟机技术(Virtual Machine Monitor)的性能,一种新的准虚拟化技术(Para-Virtualizion)技术诞生了。这种虚拟技术以Xen为代表,其特点是修改操作系统的内核,加入一个Xen Hypervisor层。它允许安装在同一硬件设备上的多个系统可以同时启动,由Xen Hypervisor来进行资源调配。
      
    虚拟技术4-操作系统虚拟化:最新的虚拟化技术已经发展到了操作系统虚拟化,以SWsoftVirtuozzo/OpenVZSun基于Solaris平台的Container技术为代表,其中Virtuozzo是商业解决方案,而OpenVZ是以Virtuozzo为基础的开源项目。他们的特点是一个单一的节点运行着唯一的操作系统实例。通过在这个系统上加装虚拟化平台,可以将系统划分成多个独立隔离的容器,每个容器是一个虚拟的操作系统,被称为虚拟环境(VEVirtual Environment),也被称为虚拟专用服务器(VPSVirtual Private Server)

      
    二、虚拟机的好处
       1.
    资源利用充分,有那么多服务器它们是否充分利用,或者没有那么多物理机器怎么办?利用虚拟机可以充分提高服务器的资源利用率,达到节约成本的目的。
       2.
    满足开发测试环境多样性的要求,通常不同的数据库和中间件,操作系统,简单组合,就有很多复杂多样的环境。虚拟机可以帮助你去完成这些环境
       3.
    备份方便:虚拟机的快照技术,让你随时恢复环境,备份可以拷贝虚拟机的几个文件,对非关键应用可以满足需求。
       4.
    容易部署,管理也方便(管理一个物理主机,其他均可远程管理) 
       5.
    安全,各个虚拟机之间是没有任何关系的。

       
    三、主要虚拟机软件的介绍
        Vmware
    ,业界的老大,EMC下的独立子公司。
        GSX Server
    (推荐):服务器版,面向小型企业、教育科研机构和开发人员。GSX 作为系统服务运行在windowslinux上。 
        ESX Server:
    企业服务器版 
    ESX Sever可以直接安装在物理服务器上面,然后在ESX上面安装虚拟机(其实ESX Server本身就在Linux基础上改的)EXSGSX性能要高很多,功能方面也高很多,例如在HA方面、虚拟SMP、资源分配、备份方面有很多企业级的特性,但是价格上也要高很多。
        Work Station
    :工作站版,面向个人用户。小型环境足够使用。
        
    其他工具如:集中管理工具
    VMware VirtualCenter、迁移工具VMware P2V Assistant(把应用从物理机器迁移到虚拟机器) Vmware Player vm workstation的免费版)vmvware  convert几分钟内可以将物理机转换为虚拟机 vmware infrastructureVM软件套装)
     
       Sun Solaris Zone-虚拟操作系统技术,相当于在Solaris上面虚拟出很多Solaris来,每个Solaris分配一定的资源,物理OS和虚拟OS现在只是支持Solaris 10,物理服务器硬件支持X86服务器和Sun的服务器。技术集成在solaris里面,需要做一些配置。
        微软
    VPCVirtual Server-微软是比较有实力的,这个也支持虚拟linux系统。
       
    其他如swsoftVirtuozzo采用了和vmware/vpc完全不同的技术(效率高于vmwareVirtuozzolinux上面有一个开源版本OpenVZ),其他还有一些开源的还有一些开源的虚拟机软件,例如bochsqemu等等。

    linux的Xen,linux的虚拟机,性能较高,这方面的知识需要多向wxc同学多学习和了解!

      
    四、vmware的软件使用,常见优化方法和常见错误
       
    使用很简单,建议参考虚拟机的帮助文档。仅介绍一些优化方法
      
    1给虚拟机指定固定的最大物理内存
       
    工具栏选择“编辑”-“参数”-“内存”-可以根据实际的使用情况选择“系统内存分配给虚拟机的方式”
      
    2)删除不用的虚拟设备
      
    工具栏选择“虚拟机”-“设置”,选择不会用到的设备删除,比如“音频”,“usb控制器”。
       3
    )安装VMware工具
       
    开启虚拟机,工具栏选择“虚拟机”-“安装VMwae工具”
       
    安装VMwae工具可以增强虚拟机界面显示和鼠标移动效果
       4
    虚拟机在创建磁盘时选择一次创建
     
    (不要使用自己扩充的那种模式,因为在虚拟机自己扩充的过程中可能会有一些监听扫描之类的工作影响效率),即在添加虚拟机硬盘时勾选马上分配所有磁盘空间
       5
    )虚拟机打开显卡加速

       
    安装了 vmware-tools 后,需要将显卡的硬件加速打开
      
    6虚拟机的磁盘整理和磁盘压缩
      
    整理你的虚拟磁盘会提高,磁盘压缩在安装vmware之后,使用可以压缩你的虚拟机磁盘(限动态分配大小的磁盘)。

       常见错误解决
       a
    vmware “经典错误9297解决方案
      
    提示错误
       VMware Workstation internal monitor error (bug 9297) *** 
      
    用记事本打开你的虚拟机虚拟配置文件(.vmx)(or .cfg),添加下边这行
       paevm = "TRUE"
      
    这个主要是因为:旧版VMWare不支持在x64处理器上安装物理地址扩展选项
      
    受影响系统:  Windows XP SP2, Windows Server 2003, Red Hat Enterprise Linux 4, Red Hat    Enterprise Linux 3 Update 3, and Solaris 10.

       b
    、无法打开虚拟机: XXX.vmx,该虚拟机似乎正在被使用
      
    解决方法:找到虚拟机系统的文件夹。在此文件夹下,将名字以“.lck ”结尾的文件夹全部重命名,重命名的名字随意改一个。然后再到VMWARE里启动你的VM。或者直接删掉“.lck ”结尾的文件夹,之后可以启动了。
       c
    、虚拟机快照恢复报错恢复快照时出错: 文件已存在
      
    解决方法:除了在虚拟机文件当前路径下vmware的日志,在操作系统的temp目录下也有vmwarelog,按照日志中提示的,删除(先备份)提示已经存在的文件,再还原快照即可。大意就是通过日志找到具体是那个文件提示已存在,然后备份或者删除掉那个文件,再还原快照即可。 

     
    五、vmware的软件下载
       
    直接到vmware网站去下载吧。最新的好像是Vmware6.0版本,相关vmware的认证有VCP(VMware认证专家)

      六、使用vmware,建议预先创建不同环境的虚拟机模板(预装好各种环境的虚拟机),在使用的时候拷贝虚拟机文件,大概几分钟就搞定一个测试基础环境。还有比如自己做练习和研究,使用虚拟机你就可以随意试验。

      
    推荐几个网站:
     
    中文网站:www.vware.cn
               www.xuniji.com
     
    英文网站:www.vware.com

     

     

  • samba和NFS区别-wxc

    2008-11-22 21:49:01

      samba基于tcp重新开发,使用的协议是netbios。微软不愿意交License费,在windows系统中对该协议重新进行了实现。samba和windows中的网络邻居都使用netbios协议。那么,samba自然主要用于在windows和unix之间共享资源。资源包括文件、打印机等等。
      NFS是SUN开发的,用于UNIX机器之间的资源共享。其设置相当容易,主要是配置/etc/exports文件,然后运行exportfs -a来共享出来。现在NFS已经成为UNIX/LINUX上的标配。
      从我的经验来看,nfs的效率要稍微高一些,只是差别不是太大。从配置来看,samba比较复杂,nfs比较简单。但是复杂有复杂的道理,它让我们能够灵活的配置。

  • 虚拟化技术

    2008-10-24 14:37:59

      当前,虚拟化技术已经成为服务器市场当之无愧的热点。一方面是可以直接减少服务器的购买数量。另外一方面是可以提高生产效率。目前来看,powderedge系列至少需要4核cpu,8G内存,上百G的大容量硬盘。

      linux阵营XEN是虚拟化技术中比较流行的一种解决方案。

      基于Xen的操作系统,有多个层,最底层和最高特权层是 Xen程序本身。Xen 可以管理多个客户操作系统,每个操作系统都能在一个安全的虚拟机中实现。在Xen的术语中,Domain由Xen控制,以高效的利用CPU的物理资源。每个客户操作系统可以管理它自身的应用。这种管理包括每个程序在规定时间内的响应到执行,是通过Xen调度到虚拟机中实现。
      当Xen启动运行后,第一个虚拟的操作系统,就是Xen本身,我们通过xm list,会发现有一个Domain 0的虚拟机。Domain 0 是其它虚拟主机的管理者和控制者,Domain 0 可以构建其它的更多的Domain ,并管理虚拟设备。它还能执行管理任务,比如虚拟机的体眠、唤醒和迁移其它虚拟机。
    一个被称为xend的服务器进程通过domain 0来管理系统,Xend 负责管理众多的虚拟主机,并且提供进入这些系统的控制台。命令经一个命令行的工具通过一个HTTP的接口被传送到xend

  • su -和login shell

    2008-10-07 16:48:41

    最近部署一个java程序的时候,root用户执行jboss的启动脚本,反复提示jdk程序出错。

    但是该脚本据上次正确执行后未被改动,且曾经被正确执行无数遍了。那问题出在哪里呢?

    后来反复实践,发现我是在admin用户下su到root用户,没有正确加载环境变量所致。

    只要在su后面加一个“-”,问题迎刃而解,原来小小的“-”是罪魁祸首。

    下面再强调下基本概念,血的教训啊

    login shell会执行/etc/profile和.bash_profile,/etc/bashrc和.bashrc
    non-login shell则仅执行/etc/bashrc和.bashrc
    查看su的man手册,su - 切换用户将会使用login shell;不带-的话,则会使用non-login shell
    PS:在RHEL下,辨别login和non-login shell另外一种方法是:exit命令后如果会清屏则是login shell,反之则是non-login shell
  • bash3.0的新特性-ps命令

    2008-09-24 16:59:00

    ps命令中的status状态 bash3.0以上支持(kernel 2.6以上)
        D Uninterruptible sleep (usually IO) 
        R Running or runnable (on run queue) 运行中
        S Interruptible sleep (waiting for an event to complete) 可打断的后台进程,类似守护进程httpd、ntpd、crond等
        T Stopped, either by a job control signal or because it is being traced. 
        W paging (not valid since the 2.6.xx kernel) 
        X dead (should never be seen) 
        Z Defunct ("zombie") process, terminated but not reaped by its parent. 

        For BSD formats and when the stat keyword is used, additional characters may be displayed: 
        < high-priority (not nice to other users) 高优先级
        N low-priority (nice to other users) 低优先级
        L has pages locked into memory (for real-time and custom IO) 
        s is a session leader 主进程
        l  is multi-threaded (using CLONE_THREAD, like NPTL pthreads do) 表示线程
        + is in the foreground process group 前台运行
     
        譬如:ps -axuf后status column中:Ss表示父进程、R+正在前台运行的进程、SN表示低优先级的进程,S+、Sl表示线程、SL等
  • bash3.0的新特性-history命令

    2008-09-24 16:36:50

    bash3.0之后,history命令推出一个新的常量

    HISTTIMEFORMAT变量:记录历史命令的执行时间

    譬如:HISTTIMEFORMAT="[%F %T]"

    执行history,显示:

    490  [2008-07-16 15:12:23]HISTTIMEFORMAT="[%F %T]"
    491  [2008-07-16 15:12:25]history
    492  [2008-07-16 15:12:32]man date

    在监控用户何时使用了哪个具体的命令,监控用户行为方式有很大的用处

  • 标准时间和格式化时间的转换-awk

    2008-08-12 19:14:55

    date命令和strftime函数,扩展clock、hwclock

         date命令:print or set the system date and time

         strftime函数:awk调用了类型为time_t的c函数库  strftime([format [, timestamp]])

                功能:Formats  timestamp  according to the specification in format.

         systime函数:同上,Returns the current time of day  as  the  number  of  seconds since the Epoch   systime()

         譬如:毫秒级时间戳->格式化时间:echo 12879350 | awk '{print strftime("%F %T", $0)}'

    格式化时间->毫秒级时间戳:date -s把当前时间设置成special time,然后 awk '{print systime()}'即可

  • 使用samba的提高工作效率

    2008-08-12 17:38:29

    samba
    service smb stop/start/status
    /etc/samba/smb.conf

    然后我们把下面这段写入smb.conf中;

    [global]
    workgroup = LinuxSir
    netbios name = LinuxSir05
    server string = Linux Samba Server TestServer
    security = share
    [linuxsir]
            path = /opt/linuxsir
            writeable = yes
            browseable = yes
            guest ōk = yes

    注解:

    [global]这段是全局配置,是必段写的。其中有如下的几行;

    workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);
    netbios name 就是在Windows中显示出来的计算机名;
    server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
    security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;

    [linuxsir] 这个在Windows中显示出来是共享的目录;
    path = 可以设置要共享的目录放在哪里;
    writeable 是否可写,这里我设置为可写;
    browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no

    guest ok 匿名用户以guest身份是登录;

    第二步:建立相应目录并授权;

    在linux下:smbclient -L 192.168.1.101

    在window下:\\192.168.1.101
    注意iptables stop
    注意修改/etc/samba/smb.conf下的host allow的IP设
  • tcpdump在服务器维护方面的使用

    2008-08-12 17:24:56

       在表达式中一般如下几种类型的关键字:

       第一种是关于类型的关键字,主要包括host,net,port

       例如  host 210.27.48.2, 指明 210.27.48.2是一台主机

       net 202.0.0.0,指明202.0.0.0是一个网络地址

       port 23 指明端口号是23。如果没有指定类型,缺省的类型是host。

       第二种是确定传输方向的关键字,主要包括src,dst,dst or src,dst and src,这些关键字指明了传输的方向。

       举例说明,src 210.27.48.2 ,指明ip包中源地址是 210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0。

       第三种是协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp等类型。

       还有三种逻辑运算,取非运算是not,!  ;与运算是and,&& ;或运算是or ,||

       example:

         1. tcpdump port 23 and \( host 192.168.1.101 \) :    过滤主机192.168.1.101(不管src还是dst)且端口为23的包

         2. tcpdump host 192.168.1.1:    截获所有192.168.1.1主机收到的和发出的所有的包

         3. tcpdump ip host 210.27.48.1 and ! 210.27.48.2:    获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包

         4. tcpdump host 210.27.48.1 and \(210.27.48.2 or 210.27.48.3 \):    截获主机210.27.48.1 和主机210.27.48.2或210.27.48.3的通信

         5. 先 tcpdump 一看,信息太多。 想了想我要做的是什么,主要是想看看,局域网中访问internet那些东西,跟那些机器有连接,而且要探测不明链接。从而可以发现是否有木马,病毒一些在作怪! tcpdump dst net not 192.168.123.0/24 不监视跟网内机子的链接,过滤很多信息。迅速进入主题, 不想看发邮件的情况,一般的80网页访问,domain访问,还有要排除网内已有服务器的一些端口。

  • linux文件系统安全性之chattr篇

    2008-07-15 12:51:46

      随着QA部门服务器的越来越多,一些重要的应用和主机直接暴露在网络中,或者INTERNET上,那么对于机器的安全性就提出了要求。常见的一种情况就是某些具有特殊权限的user进入系统后,随意修改文件,轻者导致数据丢失,重者导致系统崩溃,甚至有一些别有用心的入侵者会删掉自己的入侵log,让管理员无从查找。

      chattr是linux系统提供的一种增强文件系统安全性的系统调用。通过配置文件的属性来增强安全性,譬如:

    chattr +a log文件,表示log只能以append方式追加,任何入侵者都无法删除自己的纪录。

    chattr +i urfile: urfile文件不可以被删除、rename、modify,防止误操作很有用

    其它参数的使用可以参考man手册,同时配合lsattr显示文件的属性

  • 灵活运用find -exec和xargs

    2008-07-15 10:34:37

    exec 与 xargs的区别

    xargs:通过缓冲方式并以前面命令行的输出作为参数,随后的命令调用该参数

    若忽略 xargs 的 options 来看的话,
    cm1 | xargs cm2
    可以单纯看成: cm2 `cm1`
    因此, find .... | xargs rm 也可作 rm `find ...` 来处理.
    然而, 若 find 的结果太多, 可能会超过rm 可能接受的最大argument数量而失败.
    xargs优点:由于是批处理的,所以执行效率比较高(通过缓冲方式)
    xargs缺点:有可能由于参数数量过多(成千上万),导致后面的命令执行失败
    若换成 find .... -exec rm {} \; 的话,
    因为rm 是"逐个" item 去处理的, 则无此忧虑
     
    例子:(在当前目录下查找包含hello字符的文件)
     
    1。最傻方法:grep hello *  */*  */*/*
     
    2。使用exec
    [admin@b2b_search_115 test]$ find . -type f -print -exec grep "hello" {} \;
    ./file/test3
    hello
    ./test1
    hello
    ./test2
     
    3。使用xargs
    [admin@b2b_search_115 test]$ find . -type f -print | xargs grep hello     
    ./file/test3:hello
    ./test1:hello
  • windows利用task schedule和linux通信不得不说的几点

    2008-07-03 23:37:25

    最近随便玩玩的时候,遇到一件怪异的事情:

    脚本是:scp一个win下的文件到linux上(当然公钥事先打通的)

    表象是:在window下bat批处理文件单独run没有问题,免密码scp过去,但是放到task schedule上自动运行的时候,就出问题了,需要人工交互了。

    本想,这玩意不是和linux的crond一样吗,咋就不行呢,顿时郁闷的不行。

    后来用ssh -vvv调试了下,发现原来是task schedule模式下scp找不到密钥了,怎么回事呢?后来经过探索,发现win下的task schedule的默认用户是system,而当前的用户是administrator,豁然开朗。

    原来是这样的:直接批文件处理的时候,是admin用户去run,就在admin家目录下去找这个密钥

    放到task schedule下,默认system用户去run,结果在system家目录下没有该密钥。

    这样就很明朗了,于是用scp -i显式指定密钥的位置来搞定了,顿时很happy

    当然也有另外的解决方法,把密钥放在system用户的家目录下(目前还没有找到)

     

  • ntp常见问题的处理

    2008-06-30 11:52:44

    路径:
    linux:/etc/ntp.conf
    windows:%windir%/ntp.conf

    问题:

    ntpddate:no server suitable for synchronization found

    解决:

    1。确保server端的ntpd是run状态

    2。netstat -an|grep 123确保server端的ntpd是以udp方式开始服务

    3。iptables有没有禁止客户端的连接

    4。/etc/ntp.conf注释掉restrict default ignore (拒绝所有类型的ntp连接

    5。ntpd服务启动数分钟后(3-5分钟),才可以正常提供服务。

  • 关于服务器信息搜集并展示__collectd+RRDtool

    2008-06-03 17:31:46

    by_wxc

    最近看到两个好工具,来不及细细研究,先记下来,做个记号。

    collectd用于搜集Linux系统的信息。以守护进程的方式在后台运行,刷新、收集系统数据,然后写入RRD格式的日志文件中。通过RRDfiles进行前端图形化展示。

    collectd:http://collectd.org/

    RRDfiles:http://oss.oetiker.ch/rrdtool/

    图形化展示的特色有:cpu,内存使用量、swap、网络流量,进程

    可以和loadrunner的监控形成有效的补充

  • iconv文件编码转换(linux)

    2008-05-26 09:24:21

    by jiale 

      研究QTP二进制配置文件数据结构时,希望将二进制文件转换成可看懂的文本,这种转换可以用linux下iconv命令实现,当然iconv命令还可以实现各种编码文件间的转换

    格式:iconv 源文件 -f 当前编码 -t 转换后编码 -c >输出文件
    如: iconv test.tsp -f ucs-2 -t gbk -c >test.txt

    iconv -l:查看已支持的编码

  • expect模拟伪终端来实现免人机交互_by_wxc

    2008-05-21 12:07:07

    最近遇到一个小问题,自动化脚本需要在各普通用户间su来su去,渴望非人际交互,瞬间想到的方法是通过重定向、pipe来解决。但是su不同于passwd程序,它的逻辑比较简单,没有一些额外的参数入口来提供重定向和pipe。它必须要从终端上得到用户的输入,所以不可避免的要人际交互。那么可以用什么方法来实现自动输入密码吗?答案就是expect,它可以模拟一个伪终端程序骗过系统,实现非人际交互。(不过密码是明文的,适合于没有安全性要求的自动化),基本代码如下:

    #!/usr/local/bin/expect -f
    spawn su 用户1           //启动一个su的进程
    expect "Password:*"     //等待文本Password:,有点类似LD里的捕获检查点
    sleep 1                 //沉睡一秒
    send "用户1对应的密码\r"  //发送密码给进程
    expect eof              //结束

    转贴一段:现代的Shell对程序提供了最小限度的控制(开始,停止,等等),而把交互的特性留给了用户。 这意味着有些程序, 你不能非交互的运行,比如说passwd。 有一些程序可以非交互的运行,但在很大程度上丧失了灵活性,比如说fsck。 这表明Unix的工具构造逻辑开始出现问题。expect恰恰填补了其中的一些裂痕,解决了在Unix环境中长期存在着的一些 问题。 expect使用Tcl作为语言核心。不仅如此,不管程序是交互和还是非交互的,expect都能运用。这是一个小语言和Unix的其他工具配合起来产生强大功能的经典例子。

  • 一个IP变动引发的血案_by wxc

    2008-05-15 20:17:18

    IT重新划分网段后,机器居然不能正常启动了,检测完内存后,就直接出现please press Enter to active console错误。而且不是一台,而是一大片。这可是要命的问题。想到MAC地址和交换机端口是绑定的,会不会是这个问题呢。转念一想,即使是绑定也不会导致机器不能启动啊。后来咨询了SA,问题得以解决。原来是DHCP惹的祸。启动时,DHCP client和DHCP server端会进行一次握手,client端会得到server给的动态IP和其他一些帧信息,并保存。重新划分网段后,client端的原有信息被篡改,导致握手不成功。于是在启动机器,进行到DHCP的时候就hold住了。知道缘由之后,很简单,拔网线,在PXE disable掉,重起,设IP,插网线,很快的就搞定了。这个血案于是乎就被消灭在萌芽状态了。

  • sshd服务连接过慢问题的解决

    2008-04-08 13:49:43

    经常遇到在一台服务器ssh到另外一台server的时候,半天才出来一个输入密码提示。

    解决方案如下:1。在server上/etc/hosts文件中把client端的ip和hostsname加入

    (ssh连接过程中需要做dns逆向解析),没有获得明显连接提速

    2。server的/etc/ssh/sshd_config配置中修改GSSAPIAuthentication no,重起sshd服务

    连接过慢问题得以解决。后经研究发现,GSSAPI参数是提供kerberos验证的,连接过慢正是由于

    kerberos安全验证身份时太多耗时。一般情况下,在测试机上ssh,通常不需要这种高级别的安全验证。

  • 一个清除共享内存段的小工具

    2008-04-02 10:14:26

    # !/bin/sh

    filter="admin"

    for i in `ipcs -m | grep $filter | awk '/0x/{print $2}'`

    do
    ipcrm -m $i
    done

  • 从limits.conf说开去

    2008-03-31 22:35:10

    一日,遇到log中too many open files的问题,在limits.conf中设置了 * - nofile 10240后,该问题得到解决。但是limits.conf的后面是怎么工作的呢?

    后端是这样的:limits.conf是pam_limits.so的配置文件,然后/etc/pam.d/下的应用程序调用pam_***.so模块。譬如说,当用户访问服务器,服务程序将请求发送到PAM模块,PAM模块根据服务名称在/etc/pam.d目录下选择一个对应的服务文件,然后根据服务文件的内容选择具体的PAM模块进行处理。

    一个例子:限制admin用户登录到sshd的服务不能超过2个

    在/etc/pam.d/sshd 中添加 session required pam_limits.so

    在/etc/security/limits.conf中添加 admin - maxlogins 2

    查看应用程序能否被PAM支持,用ldd

231/212>
Open Toolbar