日历

2017年十二月
« 9月    
 123
45678910
11121314151617
18192021222324
25262728293031

最近评论

    linux企业应用

    windows server 2012启动黑屏,且进入cmd的解决方法

    今天一客户反应windows server 2012启动后,只有黑屏,且有一个CMD对话框,怀疑客户删东西了。咨询后发现,客户删除framework后,就不能启动了。

    .Net Framework 4.5是Windows Server 2012 中图形化界面(GUI) 的基础,所以出现了这个问题,解决办法也简单,在命令行输入如下命令:Dism /online /enable-feature /all /featurename:Server-Gui-Mgmt /featurename:Server-Gui-Shell /featurename:ServerCore-FullServer    回车后,等待一段时间,提示你是否重新启动计算机?(Y/N)。

    输入Y,系统重新启动。再次进入系统,正常的图形界面了。

     

    linux企业应用

    从haproxy日志里抓取造成 404请求的IP,查询IP位置,记录到文件的脚本。

    从haproxy日志里抓取造成 404请求的IP,查询IP位置,记录到文件的脚本。

    #!/bin/bash
    #search /var/log/haproxy.log for http 404 requests.
    #extract the source ip address.
    #find the location for the ip.
    #store in a logfile.

    if [[ -z $1 ]]; then
    _limit=32
    else
    _limit=$1
    fi
    set -e
    set -u

    _haproxy_log_file=”/var/log/haproxy.log”
    _404_log_file=”/root/haproxy_404.log”

    if [[ ! -f $_404_log_file ]]; then
    touch $_404_log_file
    fi
    _ip_total=`grep ” 404 ” $_haproxy_log_file |grep -v ” 404 -” |awk ‘{print $6}’|awk -F: ‘{print $1}’|sort`
    _ip_single=`echo “$_ip_total” |uniq -c|sort -gr`
    IFS=”

    for x in $_ip_single; do
    _count=`echo “$x”|awk ‘{print $1}’`
    _ip=`echo “$x”   |awk ‘{print $2}’`
    #Pick thost repeating more than $_limit
    if [[ $_count -gt $_limit ]] ; then
    if ! grep $_ip $_404_log_file >/dev/null ; then
    _ip_location=`curl -s http://wap.ip138.com/ip_search138.asp?ip=$_ip|grep “<b>$_ip”|sed “s/<b>//g;s/<\/b>//g;s/<br\/>//g;s/$_ip//g”`
    echo -e “${_ip}\t${_count}\t${_ip_location}” >> $_404_log_file
    sleep 1
    fi
    else
    break
    fi
    done

    set +e
    set +u

    linux企业应用

    ifconfig 属于哪个包

    centos7上安装vmtools,需要安装perl,直接yum -y install perl就可以了。

    但是ifconfig在centos7上默认不在安装了,ifconfig属于net-tools包,而且vmtools必须要使用ifconfig这个命令,所以必须安装net-tools包,yum -y install net-tools即可。

     

    linux企业应用

    通过VIProperty显示主机的HBA,SCSI的信息,并写入EXCEL的代码

    需要提前安装pysphere和XlsxWriter,安装方法,后期再补。

    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-

    #导入python未来支持的语言特征division(精确除法)
    from __future__ import division
    from pysphere import VIServer, MORTypes, VIProperty
    from pysphere.resources import VimService_services as VI
    import time
    import sys
    import time,datetime
    from decimal import *
    import threading
    #引入Exls模块
    import xlsxwriter
    #中午12点之前的是8:30的检查,否则是下午16:30的检查
    todayTime=datetime.datetime.now().strftime(‘%p’)
    #print datetime.datetime.now().strftime(‘%Y-%m-%d %H:%M:%S’)
    #print todayTime
    if todayTime == ‘AM’:
    checkTime= ‘0830’
    else:
    checkTime= ‘1630’
    #print checkTime

    todayDate= datetime.datetime.strftime(datetime.date.today(), ‘%Y%m%d’)
    #print todayDate

    excelName=’XXXXXX平台巡检’+todayDate+’-‘+checkTime+’.xlsx’
    #print excelName

    #创建EXCLE表格
    workbook=xlsxwriter.Workbook(excelName)

    #定义format格式对象,小数点后保存2位
    format=workbook.add_format({‘border’: 1,’align’: ‘center’,’valign’: ‘vcenter’})
    format.set_border(1)
    format.set_num_format(‘0.00’)
    #定义一个加粗的格式对象
    bold=workbook.add_format({‘bold’: 1,’border’: 1,’align’: ‘center’,’valign’: ‘vcenter’,’fg_color’: ‘yellow’})
    bold.set_border(1)
    #定义添加边框的格式对象format_border
    format_border=workbook.add_format({‘border’: 1,’align’: ‘center’,’valign’: ‘vcenter’})
    format_border.set_border(1)

    def get_clust_HBA_information(HOST, USER, PASSWORD,excel_Line,worksheet):
    excelLine=excel_Line+1
    server = VIServer()
    server.connect(HOST, USER, PASSWORD)
    #print “开始统计群集资源信息,请稍候……”
    clusters = server.get_clusters()
    #print clusters.items()[1][1]
    for key in clusters.keys():
    #print key
    hosts = server.get_hosts(key)
    #print hosts
    #输出云平台名称和群集名称
    worksheet.merge_range(excelLine,1,excelLine,6, clusters[key],bold)
    excelLine=excelLine+1
    if len(hosts) > 0:
    for host in hosts:
    worksheet.write(excelLine,1,u’WWN号’,bold)
    worksheet.write(excelLine,2,u’卷号’,bold)
    worksheet.write(excelLine,3,u’适配器’,bold)
    excelLine=excelLine+1
    hostProperty = VIProperty(server, host)
    for path in hostProperty.configManager.storageSystem.storageDeviceInfo.plugStoreTopology.path:
    print path.name[-32:]
    worksheet.write(excelLine,1,path.name[-32:],format)
    worksheet.write(excelLine,2, path.lunNumber,format_border)
    worksheet.write(excelLine,3,path.adapter[-6:],format)
    excelLine=excelLine+1

    worksheet.write(excelLine,1,u’卷名’,bold)
    worksheet.write(excelLine,2,u’卷类型’,bold)
    excelLine=excelLine+1
    for lun  in hostProperty.configManager.storageSystem.storageDeviceInfo.scsiLun:
    worksheet.write(excelLine,1,lun.key,format)
    worksheet.write(excelLine,2, lun.lunType,format)
    excelLine=excelLine+1

    worksheet.write(excelLine,1,u’目标数’,bold)
    excelLine=excelLine+1
    for adp  in hostProperty.configManager.storageSystem.storageDeviceInfo.scsiTopology.adapter:
    #print ”  ADAPTER:”, adp.adapter
    if hasattr(adp, “target”):
    worksheet.write(excelLine,1,len(adp.target),format)
    excelLine=excelLine+1
    #print ”  Connected targets:”, len(adp.target)
    else:
    print ”  Connected targets: 0″

    server.disconnect()
    return excelLine

    ########################1、XXXXXX平台##############################
    HOST=”HOSTIP”
    USER=”USERNAME”
    PASSWORD=”PASSWD”
    #############################################################################
    #定义在excel中从那行开始输出信息
    excel_Line=1
    #新建一个worksheet页
    worksheet1=workbook.add_worksheet(u’XXXXXX平台’)
    worksheet1.merge_range(excel_Line,1,excel_Line,6, u’XXXXXXX’,bold)
    #设置excel第1到第6列的宽度为14
    worksheet1.set_column(1,6,14)

    addLine=get_clust_HBA_information(HOST, USER, PASSWORD,excel_Line,worksheet1)
    excel_Line=addLine+1

    workbook.close()

    linux企业应用

    通过VIProperty显示主机的HBA,SCSI的信息

    hostProperty = VIProperty(server, host)
    for path in hostProperty.configManager.storageSystem.storageDeviceInfo.plugStoreTopology.path:
    print ”  Path:”, path.name
    print ”    LUN:”, path.lunNumber
    print ”    Adapter:”, path.adapter
    print “”
    for lun  in hostProperty.configManager.storageSystem.storageDeviceInfo.scsiLun:
    print ”  LUN Name:”, lun.key
    print ”  LUN Type:”, lun.lunType
    print “”
    for adp  in hostProperty.configManager.storageSystem.storageDeviceInfo.scsiTopology.adapter:
    print ”  ADAPTER:”, adp.adapter
    if hasattr(adp, “target”):
    print ”  Connected targets:”, len(adp.target)
    else:
    print ”  Connected targets: 0″

    linux企业应用

    python datetime时间的格式处理

    # -*- coding: utf-8 -*-

    #datetime类
    #datetime是date与time的结合体,包括date与time的所有信息。
    #它的构造函数如下:
    #datetime. datetime (year, month, day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )
    #各参数的含义与date、time的构造函数中的一样,要注意参数值的范围。

    # 1. datetime类定义的类属性与方法:
    #datetime.min、datetime.max:datetime所能表示的最小值与最大值;
    #print: datetime.max: 9999-12-31 23:59:59.999999
    #print: datetime.min: 0001-01-01 00:00:00
    from  datetime  import  *
    import time
    print   (‘datetime.max:’ +str(datetime.max ))
    print   (‘datetime.min:’ +str(datetime.min))
    #datetime.resolution:datetime最小单位;
    #print: datetime.resolution: 0:00:00.000001
    print   (‘datetime.resolution:’ + str(datetime.resolution ))
    #datetime.today():返回一个表示当前本地时间的datetime对象;
    #print: today(): 2012-09-12 19:37:50.721000
    print   (‘today():’ +str(datetime.today() ))
    #datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;
    #print: now(): 2012-09-12 19:37:50.738000
    print   (‘now():’+str( datetime.now() ))
    #datetime.utcnow():返回一个当前utc时间的datetime对象;
    #print: 2012-09-12 11:37:50.739000
    print   (‘utcnow():’ +str(datetime.utcnow() ))
    #datetime.fromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息;
    #print: fromtimestamp(tmstmp): 2012-09-12 19:37:50.741000
    print   (‘fromtimestamp(tmstmp):’ +str(datetime.fromtimestamp(time.time()) ))
    #datetime.utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象;
    #print: utcfromtimestamp(tmstmp): 2012-09-12 11:37:50.742000
    print   (‘utcfromtimestamp(tmstmp):’ +str(datetime.utcfromtimestamp(time.time())) )
    #datetime.combine(date, time):根据date和time,创建一个datetime对象;
    #print: datetime.combine(date,time):  2012-09-12 19:46:05
    d = date(2012,9,12)
    from  datetime  import  *
    t = time(19,46,5)
    print (‘datetime.combine(date,time): ‘+str(datetime.combine(d,t)))
    #datetime.strptime(date_string, format):将格式字符串转换为datetime对象;
    #print: 2007-03-04 21:08:12
    print (datetime.strptime(“2007-03-04 21:08:12”, “%Y-%m-%d %H:%M:%S”))

    继续阅读 python datetime时间的格式处理

    linux企业应用

    python发送带各种类型附件的邮件

    如何发送各种类型的附件。
    基本思路就是,使用MIMEMultipart来标示这个邮件是多个部分组成的,然后attach各个部分。如果是附件,则add_header加入附件的声明。
    在python中,MIME的这些对象的继承关系如下。
    MIMEBase
    |– MIMENonMultipart
    |– MIMEApplication
    |– MIMEAudio
    |– MIMEImage
    |– MIMEMessage
    |– MIMEText
    |– MIMEMultipart
    一般来说,不会用到MIMEBase,而是直接使用它的继承类。MIMEMultipart有attach方法,而MIMENonMultipart没有,只能被attach。
    MIME有很多种类型,这个略麻烦,如果附件是图片格式,我要用MIMEImage,如果是音频,要用MIMEAudio,如果是word、excel,我都不知道该用哪种MIME类型了,得上google去查。
    最懒的方法就是,不管什么类型的附件,都用MIMEApplication,MIMEApplication默认子类型是application/octet-stream。
    application/octet-stream表明“这是个二进制的文件,希望你们那边知道怎么处理”,然后客户端,比如qq邮箱,收到这个声明后,会根据文件扩展名来猜测。

    下面上代码。
    继续阅读 python发送带各种类型附件的邮件

    linux企业应用

    通过十条命令对机器性能问题进行诊断

    通过十条命令在一分钟内对机器性能问题进行诊断

    通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解。

    uptime
    dmesg | tail
    vmstat 1
    mpstat -P ALL 1
    pidstat 1
    iostat -xz 1
    free -m
    sar -n DEV 1
    sar -n TCP,ETCP 1
    top

    其中一些命令需要安装sysstat包,有一些由procps包提供。这些命令的输出,有助于快速定位性能瓶颈,检查出所有资源(CPU、内存、磁盘IO等)的利用率(utilization)、饱和度(saturation)和错误(error)度量,也就是所谓的USE方法。 继续阅读 通过十条命令对机器性能问题进行诊断

    linux企业应用

    合并工作簿下的全部工作表

    Private Sub cmdHeBing_Click()

    Dim i, j, k, line, lineNum As Integer

    ‘Application.ScreenUpdating = False

    ‘设定从哪一行开始显示数据
    i = 2

    ‘将以前的数据删除
    For line = 2 To 1000
    ActiveSheet.Cells(line, 2) = “”
    ActiveSheet.Cells(line, 3) = “”
    Next line

    ‘合并各sheet上的服务器名称和sheet的名字
    For j = 1 To Sheets.Count

    If Sheets(j).Name <> ActiveSheet.Name Then

    ‘X = Range(“A65536”).End(xlUp).Row + 1
    ‘Sheets(j).UsedRange.Copy Cells(X, 1)

    For line = 3 To 500
    If Sheets(j).Cells(line, 2) <> “” Then
    lineNum = line
    Else
    Exit For
    End If
    Next line

    For line = 3 To lineNum
    ActiveSheet.Cells(i, 2) = Sheets(j).Cells(line, 2)
    ActiveSheet.Cells(i, 3) = Sheets(j).Name
    i = i + 1
    Next line

    End If

    Next

    Range(“B1”).Select
    Application.ScreenUpdating = True
    MsgBox “当前工作簿下的全部工作表已经合并完毕!”, vbInformation, “提示”

    End Sub

    linux企业应用

    audit:backlog limit exceeded解决方法

    这种情况系统已经崩溃,先重启。注意重启后还可能会遇到只读的情况,首先了解下只读的原因。要求输入root密码继续那个界面有详细提示只读的原因。有可能是开启了selinux或者是磁盘有坏道等原因导致,可以单用户进服务器后vi /etc/sysconfig/selinux 设置成disabled后重启服务器观察。同时建议重启后进行fsck修复。

    audit 服务对所有的系统调用进行审计操作,

    在配置文件中,排除audit.conf文件中,日志、磁盘空间等配置参数的性能瓶颈!

    最终问题锁定在,audit服务在繁忙的系统中进行审计事件操作,缓冲瓶颈!

    增加audit.rules 的-b 选项,8192kb,(此值,要根据系统buffer值,适当分配—考虑到其它应用对全系统buffer的使用)。

    cat /etc/audit/audit.rules

    修改audit参数,如下:

    [root@ localhost]# auditctl -b 8192
    AUDIT_STATUS: enabled=1 flag=1 pid=6118 rate_limit=0 backlog_limit=8192 lost=0 backlog=1

    linux企业应用

    Centos7 网络命令

    网卡以en开头,WLAN以wl开头,WWAN以WW开头
    o是on-board,s是热插拔口的网卡,p是PCI接口的网卡,
    后面的是数字是一个索引,ID,或端口

    ip addr show ens32 :显示网卡ens32的网络ip信息
    ip addr
    ip link
    ip route
    ip -s link show ens32

    tracepath www.taobao.com
    traceroute www.taobao.com

    ss -ta 代替netstat,ss 的用法和netstat一样

    显示系统有几个网络连接:nmcli con show
    看网络配置:ifconfig ens32
    nmcli con show “ens32”

    显示设备网络状态:nmcli dev status
    nmcli dev show ens32

    linux企业应用

    GetOpenFilename的使用方法和示例

    GetOpenFilename相当于Excel打开窗口,通过该窗口选择要打开的文件,并可以返回选择的文件完整路径和文件名。
    ‘注:此方法并不会真正打开文件?

    ‘Application.GetOpenFilename(文件类型筛选规则,优先显示第几个类型的文件,标题,是否允许选择多个文件名)

    ‘二、示例

    ‘1 打开类型只限excel文件

    ‘设置打开某类文件可以用下面的规则:

    ‘”文件类型说明文字,*.文件类型后辍”
    Sub t1()
    Dim f
    f = Application.GetOpenFilename(“Excel文件,*.xls”)
    MsgBox f
    End Sub

    ‘2、打开多种文件类型(word和excel)

    ‘打开多种文件类型,只需要用”,”隔开,添加新的文件类型说明和文件类型。

    Sub t2()
    Dim f
    f = Application.GetOpenFilename(“Excel2003文件,*.xls,Word文件,*.doc”)
    MsgBox f
    End Sub

    ‘3 打开多种文件类型,默认显示word文件

    Sub t3()
    Dim f
    f = Application.GetOpenFilename(“Excel2003文件,*.xls,Word文件,*.doc,文本文件,*.txt”, 2)
    MsgBox f
    End Sub

    ‘4 设置对话框名称

    Sub t4()
    Dim f
    f = Application.GetOpenFilename(“Excel2003文件,*.xls,Word文件,*.doc,文本文件,*.txt”, 2, “选择要汇总的文件”)
    MsgBox f
    End Sub

    ‘5 选择多个文件,并以数组形式返回
    Sub t5()
    Dim f
    ChDrive “E”
    ChDir Application.Path
    ‘ChDir “..”
    f = Application.GetOpenFilename(“Excel2003文件,*.xls,Word文件,*.doc,文本文件,*.txt”, 1, MultiSelect:=True)
    MsgBox f(1)
    End Sub

    linux企业应用

    VMware厚置备延迟置零,厚置备置零,精简置备简单解释

    1、厚置备延迟置零(zeroed thick)
    以默认的厚格式创建虚拟磁盘。创建过程中为虚拟磁盘分配所需空间。创建时不会擦除物理设备上保留的任何数据,但是以后从虚拟机首次执行写操作时会按需要将其置零。
    就是立刻分配指定大小的空间,空间内数据暂时不清空,以后按需清空。

    2、厚置备置零(eager zeroed thick)
    创建支持群集功能(如 FaultTolerance)的厚磁盘。在创建时为虚拟磁盘分配所需的空间。与厚置备延迟置零相反,在创建过程中会将物理设备上保留的数据置零。
    就是立刻分配指定大小的空间,并将该空间内所有数据清空,创建速度在三种格式中最慢,但使用的时候的速度最快, oracle rac盘就得用这种格式。

    3、精简置备(thin)
    使用精简置备格式。最初,精简置备的磁盘只使用该磁盘最初所需要的数据存储空间。如果以后精简磁盘需要更多空间,则它可以增长到为其分配的最大容量。
    就是为该磁盘文件指定增长的最大空间,需要增长的时候检查是否超过限额。缺点是磁盘使用空间只能增长,即使删除掉磁盘上的内容,在vsphereclient控制台,也看不到磁盘变小。

    linux企业应用

    不同版本linux上bash漏洞修复和修复后的判断

    bash,Unix shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与Mac OS X v10.4都将它作为默认shell。它也被移植到Microsoft Windows上的Cygwin与MinGW,或是可以在MS-DOS上使用的DJGPP项目。在Novell NetWare与Andriod在上也有移植。1990年后,Chet Ramey成为了主要的维护者。

    Bash 漏洞:2014年9月25日Red Hat在Bash Shell中发现了一个名为Bash Bug(也有人称之为CVE-2014-7169意指Red Hat的漏洞编号)的安全漏洞,当用户正常访问时,该漏洞允许攻击者的代码像在Shell中一样执行,这样就为各种各样的攻击打开了方便之门。据悉,其严重性要超过之前的“心脏出血”漏洞。
    CVE-2014-7169地址:https://access.redhat.com/security/cve/CVE-2014-7169
    检测漏洞:看到这个文章时是不是想自己检测下自己的服务器或vps是否有该漏洞?
    受影响系统:所有安装GNU bash 版本小于或者等于4.3的Linux操作系统。
    漏洞概要:该漏洞源于你调用的bash shell之前创建的特殊的环境变量,这些变量可以包含代码,同时会被bash执行。
    如何检测
    env x='() { :;}; echo vulnerable’ bash -c ‘echo this is a test’

    如果输出是:
    vulnerable
    this is a test

    则 你的系统存在该漏洞!
    而你尝试修复成功后结果应该是:
    bash: warning: x: ignoring function definition attempt
    bash: error importing function definition for `x’
    this is a test
    其实,只要没有输出vulnerable,就是说明”echo vulnerable”部分没有执行, 攻击者就无法进行攻击了,系统漏洞已经修复了
    继续阅读 不同版本linux上bash漏洞修复和修复后的判断

    linux企业应用

    如何查看windows系统的SID

    经常使用模板创建服务器,为保证服务器的正常使用,需要验证使用模板创建的服务器系统的SID都不一样,查看系统SID,可以使用以下命令:whoami /user

    只要用同一个模板创建的多个系统的SID不一样,也说明这个模板创建的没有问题。

    linux企业应用

    linux下卷的创建和删除操作简记

    pvcreate /dev/sdb
    初始化分区sdb为物理卷pv
    pvdisplay
    显示物理卷信息;记下PE总数,下面会用到.
    vgcreate VolGroup01 /dev/sdb
    创建卷组,将/dev/sdb添加到卷组中,卷组的名字自己定义
    vgdisplay
    查看卷组的信息
    lvcreate -l 5119 -n LogVol01 VolGroup01
    “常用的格式是 lvcreate [-L 逻辑卷大小 | -l PE数] -n 逻辑卷名称 所属卷组名
    其中-L:后面接逻辑卷大小,可以用K、M、G表示,例如100M 、10G等
    -l 用PE数来计算逻辑卷的大小(每个PE的大小为4M)”
    lvdisplay /dev/VolGroup01/LogVol01
    lvdisplay /dev/mapper/VolGroup01-LogVol01
    lvdisplay
    显示逻辑卷信息
    mkfs.ext4 /dev/VolGroup01/LogVol01
    格式化逻辑分区,格式  ext4
    mkdir /data
    创建挂载点
    mount /dev/VolGroup01/LogVol01 /data
    将逻辑卷挂载到/data目录
    echo “test file” /data/test.txt
    作一个测试文件吧
    继续阅读 linux下卷的创建和删除操作简记

    linux企业应用

    SUSE修改IP地址

    没怎么玩过suse,今天修改IP,记录一下。

    在suse操作系统中每个网卡都有一个配置文件,在/etc/sysconfig/network/目录下。用root登录,编辑ifcfg-eth0-你的网卡的物理地址的那个文件:
    把BOOTPROTO的赋值改成成static,也就是BOOTPROTO=static
    然后增加如下内容:
    IPADDR=192.168.1.110
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1

    配置完后 要让它生效,就输入/etc/init.d/network restart就可以生效,注意suse9的网管配置是在/etc/sysconfig/network/目录下的 routes这个文件配置的。
    但是IP配置完成,启动后,能够ping通网关,不能ping通外网,比如www.taobao.com,原来,还需要在/etc/init.d/network/routes里添加一条路由:
    default 192.168.1.1 0.0.0.0 eth0
    加上这个路由, 重启网络服务,就能ping通外部网络了。

    /etc/sysconfig/network/routes格式如下:
    # Destination          Dummy/Gateway           Netmask                Device
    180.200.0.0           10.200.6.201               255.255.0.0              eth0
    180.200.3.170         10.200.6.201               255.255.255.255          eth0
    default               124.29.118.1               0.0.0.0                  eth1

    第一列为路由目标,可以是网络或主机的IP地址;
    第二列包含默认网关或通过其可访问主机或网络的网关;
    第三列包含网关后的网络或主机的子网掩码;
    第四列表示该条路由从哪个设备出去。

    如果不想加永久的路由,可以加一个临时的,但是机器重启后,还得重新设置路由;
    #route add default gw 192.168.1.1

    linux企业应用

    ExQuilla的使用和破解

    首先是使用ExQuilla这个插件,步骤如下:
    1、Tools => Add-ons => 搜索 “exchange”
    2、安装 “ExQuilla”
    3、Tools => 启动”ExQuilla for Microsoft Exchange” => “Add Microsoft Exchange account”
    4、填写邮箱地址和密码, 其他默认, 然后下一步
    5、直接点 “do auto discover”, 出现两个绿色的小原点就代表一切OK, 然后下一步,直到完成。

    从头到尾只需要填写邮箱和密码即可,其他默认

    关于exquilla的破解,下面几步,应该就可以了。
    为什么是用下面的格式,可以参照这个连接:http://blog.ssfighter.com/2015/01/exquilla-31-0-crack/

    1.EX1,yourname@youmail.com,2016-03-18,356B4B5C
    将上面字符串(邮件填写自己的,日期是到期时间),用md5工具加密,生成加密串,使用那个32位小写md5密码就行。 在线加密工具:http://md5jiami.51240.com/,或者到linux下使用md5sum加密:    echo -n “EX1,yourname@youmail.com,2016-10-18,356B4B5C” | md5sum

    2.Thunderbird –>右上角 menu –> 工具 —>ExQuilla license –> 在顶部输入栏内,输入生成的加密串,看到邮箱自动填写到下面的框里,那就是好了,重启Thunderbird即可。
    比如我本次的格式是这样的:EX1,yourname@youmail.com,2016-03-18,XXXXXXXXXX32位md5小写密码XXXX

    linux企业应用

    卷组操作

    命令说明extendfs扩充文件系统:

    # extendfs /dev/vg00/rlvol3

    lvchange更改逻辑卷的特性:

    # lvchange -t 60 /dev/vg00/lvol3

    lvcreate在卷组中创建逻辑卷:

    # lvcreate -L 100 /dev/vg00

    lvdisplay显示有关逻辑卷的信息:

    # lvdisplay -v /dev/vg00/lvol1

    lvextend为逻辑卷添加镜像

    # lvextend -m 1 /dev/vg00/lvol3

    lvextend增加逻辑卷的大小

    # lvextend -L 120 /dev/vg00/lvol3

    lvlnboot准备将逻辑卷用作根区域、交换区域或转储区域:

    # lvlnboot -d /dev/vg00/lvol2

    lvmerge将拆分卷合并为一个逻辑卷:

    # lvmerge /dev/vg00/lvol4b /dev/vg00/lvol4

    lvreduce减小逻辑卷的大小:

    # lvreduce -L 100 /dev/vg00/lvol3

    lvreduce减小逻辑卷的镜像副本的数量:

    # lvreduce -m 0 /dev/vg00/lvol3

    lvremove从卷组中删除逻辑卷:

    # lvremove /dev/vg00/lvol6

    lvrmboot删除到根区域、交换区域或转储区域的逻辑卷链路:

    # lvrmboot -d /dev/vg00/lvol2

    lvsplit将一个镜像逻辑卷拆分为两个逻辑卷:

    # lvsplit /dev/vg00/lvol4

    lvsync同步过时的逻辑卷镜像:

    # lvsync /dev/vg00/lvol1

    pvchange更改物理卷的特性:

    # pvchange -a n /dev/disk/disk2

    pvck对物理卷执行一致性检查:

    # pvck /dev/disk/disk47_p2

    pvcreate创建用作卷组的一部分的物理卷:

    # pvcreate /dev/rdisk/disk2

    pvdisplay显示有关物理卷的信息:

    # pvdisplay -v /dev/disk/disk2

    pvmove将盘区从一个物理卷移动到另一个物理卷:

    # pvmove /dev/disk/disk2 /dev/disk/disk3

    pvremove从物理卷中删除 LVM 数据结构:

    # pvremove /dev/rdisk/disk2

    vgcfgbackup保存卷组的 LVM 配置:

    # vgcfgbackup vg00

    vgcfgrestore恢复 LVM 配置:

    # vgcfgrestore -n /dev/vg00 /dev/rdisk/disk2

    vgchange打开或关闭卷组:

    # vgchange -a y /dev/vg00

    vgchgid更改物理卷的卷组 ID:

    # vgchgid /dev/rdisk/disk3

    vgcreate创建卷组:

    # vgcreate /dev/vg01 /dev/disk/disk2 /dev/disk/disk3

    vgdisplay显示有关卷组的信息:

    # vgdisplay -v /dev/vg00

    vgextend通过添加物理卷来扩充卷组:

    # vgextend /dev/vg00 /dev/disk/disk2

    vgexport从系统中删除卷组:

    # vgexport /dev/vg01

    vgimport向系统添加现有卷组:

    # mkdir /dev/vg04
    # mknod /dev/vg04/group c 640x0n0000
    # vgimport -v /dev/vg04

    (n 编号在所有卷组中是唯一的)。vgmodify修改卷组的配置参数:

    # vgmodify -v -t -n -r /dev/disk/disk3

    vgscan扫描卷组的系统磁盘:

    # vgscan -v

    vgreduce通过从卷组中删除一个或多个物理卷来缩小卷组:

    # vgreduce /dev/vg00 /dev/disk/disk2

    vgremove从系统和磁盘中删除卷组定义:

    # vgremove /dev/vg00 /dev/disk/disk2

    vgsync同步卷组中的所有镜像逻辑卷:

    # vgsync vg00

    resize2fs /dev/VolGroup00/LogVol01

    linux企业应用

    详解Bash代码注入安全漏洞

    很多人或许对上半年发生的安全问题“心脏流血”(Heartbleed Bug)事件记忆颇深,这两天,又出现了另外一个“毁灭级”的漏洞——Bash软件安全漏洞。陈皓发表博文,详细解释安全问题的症状。
    很多人或许对上半年发生的安全问题“心脏流血”(Heartbleed Bug)事件记忆颇深,这两天,又出现了另外一个“毁灭级”的漏洞——Bash软件安全漏洞。这个漏洞由法国GNU/Linux爱好者Stéphane Chazelas所发现。随后,美国电脑紧急应变中心(US-CERT)、红帽以及多家从事安全的公司于周三(北京时间9月24日)发出警告。 关于这个安全漏洞的细节可参看美国政府计算安全的这两个漏洞披露: CVE-2014-6271 和  CVE-2014-7169。

    这个漏洞其实是非常经典的“注入式攻击”,也就是可以向 bash注入一段命令,从bash1.14 到4.3都存在这样的漏洞。我们先来看一下这个安全问题的症状。
    Shellshock (CVE-2014-6271)

    下面是一个简单的测试:

    $ env VAR='() { :;}; echo Bash is vulnerable!’ bash -c “echo Bash Test”

    如果你发现上面这个命令在你的bash下有这样的输出,那你就说明你的bash是有漏洞的:

    Bash is vulnerable!
    Bash Test

    简单地看一下,其实就是向环境变量中注入了一段代码 echo Bash is vulnerable。关于其中的原理我会在后面给出。很快,CVE-2014-6271的官方补丁出来的了—— Bash-4.3 Official Patch 25。
    AfterShock – CVE-2014-7169 (又叫Incomplete fix to Shellshock)

    但随后,马上有人在Twitter上发贴—— 说这是一个不完整的fix,并给出了相关的攻击方法。
    继续阅读 转:详解Bash代码注入安全漏洞