梦之城平台登录注册线上真人博彩游戏:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/ zh-cn www.emlog.net 梦之城平台登录注册bg视讯bg彩票:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/225.html 在默认的情况情况下,我们的机器直接执行yum install nginx一般都是不成功的,因为缺少安装包,所以我们需要进行配置以后,才能实现也YUM来直接安装NGINX。下面是根据官方的资料来配置的:

vi /etc/yum.repos.d/nginx.repo

[nginx]  
name=nginx repo  
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/  
gpgcheck=0  
enabled=1

保存以后退出,再执行安装即可:

yum -y install nginx
service nginx start 
chkconfig nginx on

配置文件路径:/etc/nginx/nginx.conf

]]>
Sat, 16 Apr 2016 15:06:27 +0000 山坛兄弟 http://flagpatternmaker.com/linux/225.html
梦之城平台登录注册优游开户-注册登陆:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/214.html 一、每天的12点及16点重启apache及mysql服务
[root@www bin]# cd /opt/
[root@www opt]# vim reboot.txt
在reboot.txt.txt文件中输入下面的内容后保存
0 12 * * * service httpd restart
0 12 * * * service mysqld restart
0 16 * * * service httpd restart
0 16 * * * service mysqld restart
二、把新建的文件加入到cron服务中
[root@www opt]# crontab reboot.txt
[root@www opt]# crontab -l
0 12 * * * service httpd restart
0 12 * * * service mysqld restart
0 16 * * * service httpd restart
0 16 * * * service mysqld restart
三、重启cron服务
[root@www opt]# /sbin/service crond restart
补充说明:
cron是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。由于Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
时程表的基本格式 :
*  *  *  *  *  program
分  时  日  月  周        命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
当第1列 为 * 时表示每分钟都要执行 program,第2列为 * 时表示每小时都要执行程式,其余类推
当第1列为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,第2列为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当第1列为 */n 时表示每 n 分钟个时间间隔执行一次,第2列 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当第1列为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,第2列 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推
crontab文件的一些例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启lighttpd 。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启lighttpd 。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启lighttpd 。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启lighttpd 。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启lighttpd 。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启lighttpd
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启lighttpd
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启lighttpd
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启lighttpd
]]>
Wed, 23 Mar 2016 04:54:50 +0000 山坛兄弟 http://flagpatternmaker.com/linux/214.html
梦之城平台登录注册1xbet平台网页版:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/213.html
一、安装

yum -y install vixie-cron
yum -y install crontabs

说明:
vixie-cron 软件包是 cron 的主程序;
crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

二、配置

cron 是 linux 的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
service crond start     //启动服务
service crond stop      //关闭服务
service crond restart   //重启服务
service crond reload    //重新载入配置
service crond status    //查看crontab服务状态

在CentOS系统中加入开机自动启动: chkconfig --level 345 crond on

cron 的主配置文件是 /etc/crontab,它包括下面几行:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

前四行是用来配置 cron 任务运行环境的变量。
SHELL 变量的值告诉系统要使用哪个 shell 环境(在这个例子里是 bash shell);
PATH 变量定义用来执行命令的路径。
cron 任务的输出被邮寄给 MAILTO 变量定义的用户名。
如果 MAILTO 变量被定义为空白字符串(MAILTO=""),电子邮件就不会被寄出。
HOME 变量可以用来设置在执行命令或脚本时使用的主目录。



限制对 cron 的使用:

/etc/cron.allow和 /etc/cron.deny 文件被用来限制对 cron 的使用。
这两个使用控制文件的格式都是每行一个用户www.linuxidc.com。
两个文件都不允许空格。
如果使用控制文件被修改了,cron 守护进程(crond)不必被重启。
使用控制文件在每次用户添加或删除一项 cron 任务时都会被读取。

无论使用控制文件中的规定如何,root 都总是可以使用 cron。

如果 cron.allow 文件存在,只有其中列出的用户才被允许使用 cron,并且 cron.deny 文件会被忽略。
如果 cron.allow 文件不存在,所有在 cron.deny 中列出的用户都被禁止使用 cron。
]]>
Wed, 23 Mar 2016 04:53:17 +0000 山坛兄弟 http://flagpatternmaker.com/linux/213.html
梦之城平台登录注册1号店彩票平台:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/205.html cd /etc/yum.repos.d/
vi dag.repo
[dag]
name=Dag RPM Repository for RHEL4
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el4/en/$basearch/dag/
enabled=1
gpgcheck=0
退出保存文件,然后执行安装
yum -y install clamd
启动杀毒软件: service clamd start
设置开机启动: chkconfig clamd on
升级病毒库: freshclam

]]>
Tue, 02 Feb 2016 09:46:50 +0000 山坛兄弟 http://flagpatternmaker.com/linux/205.html
梦之城平台登录注册优游1.0登录注册:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/201.html NGINX是一款非常不错的程序,占用资源小,而且用来做反向代理非常的方便,自己国内有机器,但是使用到80端口需要备案,如果做博客类的,审批很麻烦,所以一般用香港的机器反向到国内来处理.NGINX默认是不支持于系统服务方式来运行的,所以这就碰到了一些问题,比如服务器宕机了,在家没法远程桌面进去,然后机器重启了,但是NGINX没启动,导致网站没法启动.


就算你创建快捷方式,加到启动项目,也是没用了,因为那个要进去桌面以后,才会启动程序.所以我们借助其它软件来完成这个启动的服务.在这里推荐使用NSSM(the Non-Sucking Service Manager)一款小巧的软件. 将这个软件放到NGINX的目录下,比如我的NGINX放到D盘,那么这样运行: D:\nginx\nssm.exe install nginx在弹出的软件设置对话框,选择nginx.exe所在位置,服务的名称,这里不要直接用nginx否则会提示服务已经存在之类的错误,你可以改为: nginxserver等等,点击确认后就安装成功了.


这样无论机器如何重启,NGINX都是于系统服务自动运行起来了,非常的方便. 

NSSM下载地址: 

]]>
Tue, 19 Jan 2016 06:18:34 +0000 山坛兄弟 http://flagpatternmaker.com/linux/201.html
梦之城平台登录注册杏彩官网官网注册:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/199.html [该文章已设置加密]

]]>
Wed, 13 Jan 2016 09:12:52 +0000 山坛兄弟 http://flagpatternmaker.com/linux/199.html
梦之城平台登录注册鞍山棋牌:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/181.html 今天看postfix 日志,发现日志中报大量的NOQUEUE: reject: RCPT from unknown[183.60.103.208]: 504 5.5.2 ,而且在不停的换IP,频率很高,一分钟能收到2000左右的连接,虽然postfix 已经拒绝了请求,但是这也很浪费服务器资源。决定扼杀在萌芽状态。于是想起了fail2ban。

首先安装,yum 安装,需要epel 源

yum install fail2ban -y

cd /etc/fail2ban

vi jail.conf

#[postfix-tcpwrapper]
[POSTFIX]
enabled  = ture
port = smtp
filter   = postfix
logpath  = /var/log/zimbra.log ##日志
action   =iptables[name=Postfix, port=25, protocol=tcp] ##调用iptables 拒绝ip
ignoreip = 127.0.0.1 192.168.2.0/16 ##忽略的ip地址,或者是信任的ip地址
bantime  = 86400 #####禁止其访问的时间(秒)
findtime = 60 
maxretry = 5 ###最大尝试次数

vi filter.d/postfix.conf                

failregex = warning: (.*)\[<HOST>\]: SASL LOGIN authentication failed:
             reject: RCPT from (.*)\[<HOST>\]: 550 5.1.1
             reject: RCPT from (.*)\[<HOST>\]: 450 4.7.1
             reject: RCPT from (.*)\[<HOST>\]: 554 5.7.1
             reject: RCPT from (.*)\[<HOST>\]: 554 5.5.2

             reject: RCPT from (.*)\[<HOST>\]: 504 5.5.2###过滤规则,上面4条默认有,我另外加了两条


然后启动服务:service fail2ban start

查看状态:

 fail2ban-client status POSTFIX
Status for the jail: POSTFIX
|- filter
|  |- File list:        /var/log/zimbra.log 
|  |- Currently failed: 0
|  `- Total failed:     8
`- action
   |- Currently banned: 1
   |  `- IP list:       120.197.131.6 
   `- Total banned:     1

已经有IP地址了

iptables -L

Chain fail2ban-Postfix (1 references)
target     prot opt source               destination         
DROP       all  --  120.197.131.6        anywhere            
RETURN     all  --  anywhere             anywhere  

世界终于安静多了

]]>
Thu, 17 Sep 2015 06:17:50 +0000 山坛兄弟 http://flagpatternmaker.com/linux/181.html
梦之城平台登录注册北京福利彩票:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/178.html 在管理extmail的过程中,管理员开通的邮箱账号都是使用初始密码。懒惰的用户往往不做修改就直接使用。时间一长,管理员初始密码就容易被暴力破解。然后某一个账户就变成垃圾中转站了。

下面的三个脚本,是在不会改Perl代码的情况下,用bash加固一下服务器。
====================第一个脚本:用来强制用户24小时之内修改密码======================
复制内容到剪贴板
代码:
#!/bin/bash
#
#
# 脚本名:extmail-change-your-password.sh 
# 功能简介:一个强制用户修改密码的小脚本。使用cron安排在每天晚上24点之后执行。
#            禁用掉没有登录webmail修改密码的用户
#
# 作者: 刘西洋
#              <xiyangliu1987@gmail.com>
#              http://www.xiyang-liu.com
#
# 脚本自由,版权没有
#
# 创建时间:2012年11月27日一个阳光明媚的上午
#
#------程序设计思路-------------------
#    用户第一次使用webmail登录时,extmail在用户的Maildir文件夹下面
#创建一个maildirsize文件,用来记录磁盘限额信息。管理员邮箱收到的
#磁盘使用汇总报告显示,部分用户Maildir目录下没有maildirsize文件。
#这说明,这部分用户从没有登录过webmail界面,也没有修改过密码。
#    为了便于管理用户的磁盘限额信息,用户邮箱使用情况。以用户没有修改
#密码的名义,强制用户登录webmail界面。否则在当日24时后,禁用用户邮箱。
#--------结束-----------------------------
##设置全局变量
DB_HOSTNAME="localhost"
DB_PORT="3306"
DB_USERNAME="root"
DB_PASSWORD=""
DB_NAME="extmail"
COUNT_FILE="/var/log/extmail-passwd-check-count.txt"
LOG_FILE="/var/log/extmail-passwd-change.log"
TEMP_FILE=/tmp/extmail-count-tmp.tmp
SEND_SMS_EXEC=/var/password-manager/send-mas-sms.sh
declare domains=( `mysql -sN -h $DB_HOSTNAME -P $DB_PORT -u $DB_USERNAME -p$DB_PASSWORD $DB_NAME -e "select domain from domain;" | xargs` )
dlen=${#domains[@]}
di=0
while [ $di -lt "$dlen" ]
do
  declare users=( `mysql -sN -h $DB_HOSTNAME -P $DB_PORT -u $DB_USERNAME -p$DB_PASSWORD $DB_NAME -e "select uid from mailbox where active='1' and domain='${domains[$di]}'; " | xargs` )  
ulen=${#users[@]}
  ui=0  
  while [ $ui -lt "$ulen" ]
    do
    MAILDIRPATH=/home/domains/${domains[$di]}/${users[$ui]}/
    if [ -f $MAILDIRPATH/Maildir/maildirsize ];then
      echo USER ${users[$ui]}@${domains[$di]} OK!
    else 
      COUNT=`grep ${users[$ui]} $COUNT_FILE | cut -d ":" -f 2`
      if [ -z $COUNT ];then 
         COMM_MESSAGE="尊敬的企业邮箱用户,您好!您已开通用户名为${users[$ui]}@${domains[$di]}的企业邮箱账号,但是您还未登录修改密码.请您在24小时内登录企业邮箱,并修改密码.超过7天未修改密码的账户,将被自动注销.企业邮箱登录地址http://mail.xiyang-liu.com" 
         $SEND_SMS_EXEC "${users[$ui]}" "$COMM_MESSAGE"      
         echo User ${users[$ui]}@${domains[$di]} do not change password in 24 hours!
       else
         mysql -sN -h $DB_HOSTNAME -P $DB_PORT -u $DB_USERNAME -p$DB_PASSWORD $DB_NAME -e "update mailbox set active=0 where username='${users[$ui]}@${domains[$di]}'; "
         let COUNT++
         echo "${users[$ui]}@${domains[$di]}:$COUNT" >>$TEMP_FILE
         echo User ${users[$ui]}@${domains[$di]} keep DEFAULT password for $COUNT times now!
      fi
    fi
  let ui++
  done
let di++
done
cat $TEMP_FILE> $COUNT_FILE
> $TEMP_FILE
##程序结束
笔者运行的环境有多个域。同时,有多个域管理员。被禁用后的用户的激活问题可以交给域管理员。
====================第二个脚本:用于提醒用户60天修改一次密码============================
这个脚本的本意,是防止用户长时间不修改密码,如果凑巧了,用户的密码再比较简单。被不怀好意的人猜透的可能性就大增。指不定哪天邮件服务器负载飙到8-9了,疯狂的往外发垃圾邮件,处理倒是不难。可,企业邮箱声誉降下来了,或者被RBL加黑了,申诉就灰常折磨人了。
复制内容到剪贴板
代码:
#!/bin/bash
#
#本脚本需要一个密码权值对应文件。文件内容为:用户名@域名#密码#权值
#先将用户账号#密文#初始权值1 导出到一个文件中。
#通过mysql查询最新的密码,和文件中的旧密码进行比对,如果密码相同,则说明未修改密码。将权值加1。
#如果密码不同,则将新的密码更新到文件中,同时将权值重置为1。
#本脚本每周一执行,如果权值超过8,则短信提醒用户修改密码。同时将权值重置为4,以保证仅每个月提醒一次。
#                              刘西洋 <xiyangliu1987@163.com>
#                                      http://www.xiyang-liu.com

DB_HOSTNAME="localhost"
DB_PORT="3306"
DB_USERNAME="root"
DB_PASSWORD=""
DB_NAME="extmail"
#指定初始化密码文件
USER_PASSWD_FILE=/var/password-manager/user-password-file.txt
SEND_SMS_EXEC=/var/password-manager/send-mas-sms.sh
TEMP_FILE=/tmp/extmail-passwd-check-tmp.tmp
#如果不存在密码文件,则导出现有用户名密码,来创建一个新的密码文件
if  [ ! -s $USER_PASSWD_FILE ] ; then 
  mysql -sN -h $DB_HOSTNAME -P $DB_PORT -u $DB_USERNAME -p$DB_PASSWORD $DB_NAME -e "select username,password from mailbox;" | sed -e  's/\t/#/g' -e 's/$/&#1/g' > $USER_PASSWD_FILE
fi
#查询域名,创建数组
declare domains=( `mysql -sN -h $DB_HOSTNAME -P $DB_PORT -u $DB_USERNAME -p$DB_PASSWORD $DB_NAME -e "select domain from domain;" | xargs` )
#初始化指针
dlen=${#domains[@]}
di=0
#进入循环,每次处理一个域的用户
while [ $di -lt "$dlen" ]
do
  #查询域下用户,创建数组
  declare users=( `mysql -sN -h $DB_HOSTNAME -P $DB_PORT -u $DB_USERNAME -p$DB_PASSWORD $DB_NAME -e "select uid from mailbox where domain='${domains[$di]}';" | xargs` )
  #初始化指针
  ulen=${#users[@]}
  ui=0
  #进入子循环,逐个处理用户
  while [ $ui -lt "$ulen" ]
    do
    #分别查询密码文件和数据库中的密文密码
    FILE_PASSWD=`grep "^${users[$ui]}@${domains[$di]}#" $USER_PASSWD_FILE | cut -d "#" -f 2`
    SQL_PASSWD=`mysql -sN -h $DB_HOSTNAME -P $DB_PORT -u $DB_USERNAME -p$DB_PASSWORD $DB_NAME -e "select password from mailbox where username='${users[$ui]}@${domains[$di]}';" | xargs`
    #如果两个密码不同,则将新密码追加到临时文件中。否则将计数器加1
    if [ "$FILE_PASSWD" != "$SQL_PASSWD" ];then
      echo "${users[$ui]}@${domains[$di]}#$SQL_PASSWD#1" >> $TEMP_FILE
    else 
      COUNT=`grep "^${users[$ui]}@${domains[$di]}#" $USER_PASSWD_FILE | cut -d "#" -f 3`
      #如果记录不存在,初始化此记录
   if [ -z $COUNT ];then
         echo "${users[$ui]}@${domains[$di]}#$SQL_PASSWD#1" >> $TEMP_FILE 
      #如果计数器大于8,发送短信提醒用户修改密码
      elif [ $COUNT -gt 8 ];then
         COMM_MESSAGE="尊敬的企业邮箱用户,您好!您用户名为${users[$ui]}@${domains[$di]}的企业邮箱账号已经超过60天没有修改密码.为了您账户的安全.请您在24小时内登录企业邮箱修改密码.企业邮箱登录地址http://mail.xiyang-liu.com" 
         $SEND_SMS_EXEC "${users[$ui]}" "$COMM_MESSAGE"
         #将计数器置4,并将密码追加到临时文件
         echo "${users[$ui]}@${domains[$di]}#$SQL_PASSWD#4" >> $TEMP_FILE
       else
         #否则计数器加1,并将密码追加到临时文件,并输出调试信息。
         let COUNT++
         echo "${users[$ui]}@${domains[$di]}#$SQL_PASSWD#$COUNT" >> $TEMP_FILE
         echo User ${users[$ui]}@${domains[$di]} does not change password for $COUNT times now!
      fi
    fi
  let ui++
  done
let di++
done
#用临时文件内容覆盖密码文件内容
cat $TEMP_FILE > $USER_PASSWD_FILE
#清空临时文件
> $TEMP_FILE
上面脚本中,用了一个发短信的脚本。这个每个公司的情况都不一样。我的脚本不具有普适性。
脚本功能:接受用户邮箱账号和短信内容为输入变量,根据账号从一个账号手机号对应文件中提取用户的手机号。然后给用户发送一条短信。
需要借鉴发短信的脚本,请访问:
============================第三个脚本:用户暴力破解用户简单密码=========================

通过前几个脚本,禁止了用户使用默认密码,禁止了用户不更改密码。如果用户改了一个符合规则的弱密码怎么办?或者如果用户两个密码反复用该如何办?

与其被别人破解,还不如自己破解!

破解思路:extmail系统使用了md5crypt加密用户密码,然后存放在数据库中。php的crypt函数可以将明文加上一个salt值声称密文密码。通过md5crypt加密弱密码后,与数据库中的密码进行比对。如果相同,则表示密码已经破解。用户密码被破解后,系统使用12位伪随机数重置用户密码。并短信告知用户新的密码。
复制内容到剪贴板
代码:
#!/bin/bash

DB_HOSTNAME="localhost"
DB_PORT="3306"
DB_USERNAME="extmail"
DB_PASSWORD=""
DB_NAME="extmail"

WEAK_PASS_FILE=/var/sysmgmt-script/password-manager/weak-passwd-dict.txt
SEND_SMS_EXEC=/var/sysmgmt-script/password-manager/send-mas-sms.sh
LOG_FILE=/var/log/reset-password-xiyang-liu.com.log

function F_RESET_PASS()
{
#从命令行获取用户名全名:用户名@域名
USERNAME=$1

#查询用户的旧密码
OLD_EN_PASSWD=`mysql -sN -h $MAIL_DB_HOSTNAME -P $MAIL_DB_PORT -u $MAIL_DB_USERNAME -p$MAIL_DB_PASSWORD $MAIL_DB_NAME -e "select password from mailbox where username='$USERNAME'"`
#提取密码计算随机数
USER_SALT=`STR="$OLD_EN_PASS"; echo ${STR:0:12}`
#随机生成12位新密码
NEW_PLAIN_PASSWD=`cat /dev/urandom | tr -dc A-Za-z0-9 | head -c 12`
#加密新密吗
NEW_EN_PASSWD=`php -r "echo crypt('$NEW_PLAIN_PASSWD','$USER_SALT');"`
#修改用户密码为新密码
mysql -sN -h $MAIL_DB_HOSTNAME -P $MAIL_DB_PORT -u $MAIL_DB_USERNAME -p$MAIL_DB_PASSWORD $MAIL_DB_NAME -e "update mailbox set password='$NEW_EN_PASSWD',active='1' where username='$USERNAME'; "
echo USER $USERNAME has NEW PASSWORDD : $NEW_PLAIN_PASSWD
#短信通知用户
COMM_MESSAGE="尊敬的企业邮箱用户,您好!您的账户$USERNAME使用了可破解的弱密码,为了您的账户安全.我们已将您的密码修改为$NEW_PLAIN_PASSWD,请您及时修改密码.企业邮箱登录地址http://mail.xiyang-liu.com."

$SEND_SMS_EXEC $USERNAME "$COMM_MESSAGE"
echo "$USERNAME" "$OLD_EN_PASSWD" "$NEW_PLAIN_PASSWD" "$NEW_EN_PASSWD" >> $LOG_FILE
}

declare users=( `mysql -sN -h $DB_HOSTNAME -P $DB_PORT -u $DB_USERNAME -p$DB_PASSWORD $DB_NAME -e "select username from mailbox;" | xargs` )
ulen=${#users[@]}
ui=0
while [ $ui -lt "$ulen" ]
do
   ti=0
   tlen=12
   while [ $ti -lt $tlen ]
     do
       {
       U_NAME=${users[$ui]}
       U_PASS=`mysql -sN -h $DB_HOSTNAME -P $DB_PORT -u $DB_USERNAME -p$DB_PASSWORD $DB_NAME -e "select password from mailbox where username='$U_NAME'"`
       echo $U_NAME
       TRY_SALT=`STR="$U_PASS"; echo ${STR:0:12}`
       cat $WEAK_PASS_FILE | while read LINE
         do
           EN_PASS=`php -r "echo crypt('$LINE','$TRY_SALT');"`
           #echo $EN_PASS
           #echo $LINE
           if [ "$EN_PASS" == "$U_PASS" ]
             then 
               F_RESET_PASS  "$U_NAME"
           fi
          done
     } &
     let ui++
     let ti++
  done
  #等待12个进程都执行再进行下一个处理过程
  wait
done
上面脚本中使用了多线程计算。根据弱密码字典的大小会造成一定程度上的系统负载。建议找一个性能好点的服务器远程执行计算。

千万不要去掉wait,否则会把服务器搞死的!]]>
Thu, 17 Sep 2015 06:11:33 +0000 山坛兄弟 http://flagpatternmaker.com/linux/178.html
梦之城平台登录注册乐透棋牌游戏平台:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/177.html 无论如何,iptables是一个需要特别谨慎设置的东西,万一服务器不在你身边,而你贸然设置导致无法SSH,那就等着被老板骂吧,呵呵。。。

一下内容是为了防止这种情况发生而写的,当然很初级,不过一般服务器也够用了:

1.首先介绍一下指令和相关配置文件

  1. 启动指令:service iptables start   
  2. 重启指令:service iptables restart   
  3. 关闭指令:service iptables stop   
  4.   
  5. 然后是相关配置:/etc/sysconfig/iptables   
  6. 如何操作该配置呢?   
  7. vim /etc/sysconfig/iptables   
  8. 然后进去修改即可,修改完了怎么办?这里很多人会想到/etc/rc.d/init.d/iptables save指令,但是一旦你这么干了你刚才的修改内容就白做了。。。   
  9. 具体方法是:   
  10. 只修改/etc/sysconfig/iptables 使其生效的办法是修改好后先service iptables restart,然后才调用/etc/rc.d/init.d/iptables save,   
  11. 因为/etc/rc.d/init.d/iptables save会在iptables服务启动时重新加载,要是在重启之前直接先调用了/etc/rc.d/init.d/iptables save那么你   
  12. 的/etc/sysconfig/iptables 配置就回滚到上次启动服务的配置了,这点必须注意!!!  

2.下面介绍一些指令用法(主要还是man iptables看下相关资料才行)

  1. -A:指定链名   
  2. -p:指定协议类型   
  3. -d:指定目标地址   
  4. --dport:指定目标端口(destination port 目的端口)   
  5. --sport:指定源端口(source port 源端口)   
  6. -j:指定动作类型  

3.如果我不像修改文件直接打命令可以吗,当然没问题,步骤如下:

  1. 例如我给SSH加放行的语句:   
  2. 添加input记录: iptables -A INPUT -p tcp --dport 22 -j ACCEPT   
  3. 添加output记录: iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT   
  4. 最后注意需要再执行一下 /etc/init.d/iptables save,这样这两条语句就保存到刚才那个/etc/sysconfig/iptables 文件中了。  

4.接下来说明一下步骤,如果机器不在我身边,我只能SSH进去做iptables规则,那么我必须注意每一步,千万别搞错了,否则就SSH链接不上都有可能!

  1. 首先要做的是给咱的SSH进行ACCEPT配置,以免直接无法连接的情况发生:   
  2. 1.如果SSH端口是22(这里不建议用默认端口最好改掉SSH端口)   
  3. iptables -A INPUT -p tcp --dport 22 -j ACCEPT   
  4. iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT   
  5. 注意要/etc/rc.d/init.d/iptables save,以下每一步都最好执行一遍此语句,以下不再累述。   
  6.   
  7. 2.vim /etc/sysconfig/iptables确定是否已经加入配置,可以的话执行service iptables restart重启后生效   
  8.   
  9. 3.下面是很危险的操作,如果你第一步没做就会直接可能导致你连不上SSH,此步骤前切记执行第一步!!!   
  10. iptables -P INPUT DROP    
  11. iptables -P OUTPUT DROP    
  12. iptables -P FORWARD DROP   
  13. 这个步骤是把所有不符合自己配置的规则ACCEPT的连接全部DROP掉,执行完以后如果咱SSH还没掉,那么谢天谢地,安全了,重启下iptables后继续下面的配置!   
  14.   
  15. 4.下面咱就不细说了,具体就是看自己服务器要开放哪些端口或者是要访问哪些端口来做具体的配置,下面是我自己的机器的配置:   
  16.   
  17. /etc/sysconfig/iptables文件配置如下:   
  18. Generated by iptables-save v1.4.7 on Fri Mar  19:59:43 2012   
  19. *filter   
  20. :INPUT DROP [0:0]   
  21. :FORWARD DROP [0:0]   
  22. :OUTPUT DROP [8:496]   
  23. -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT   
  24. #ping使用的端口   
  25. -A INPUT -p icmp -j ACCEPT   
  26. -A INPUT -i lo -j ACCEPT   
  27. -A INPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT   
  28. -A INPUT -s 192.168.2.200/32 -d 192.168.2.200/32 -j ACCEPT   
  29. #允许服务器自己的SSH(对外部请求来说服务器是目标所以使用--dport)   
  30. -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT   
  31. #80端口不用说了吧,服务器网站访问端口   
  32. -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT   
  33. -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT   
  34. -A INPUT -p tcp -m tcp --dport 11211 -j ACCEPT   
  35. -A INPUT -p tcp -m tcp --dport 11212 -j ACCEPT   
  36. -A FORWARD -j REJECT --reject-with icmp-host-prohibited   
  37. #53端口是DNS相关,TCP和UDP都要配置   
  38. -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT   
  39. -A INPUT -p udp -m udp --dport 53 -j ACCEPT   
  40. #ping使用的端口   
  41. -A OUTPUT -p icmp -j ACCEPT   
  42. -A OUTPUT -s 127.0.0.1/32 -d 127.0.0.1/32 -j ACCEPT   
  43. -A OUTPUT -s 192.168.2.200/32 -d 192.168.2.200/32 -j ACCEPT   
  44. #允许服务器SSH到其他机器(使用外部端口就使用--dport)   
  45. -A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT   
  46. #允许服务器自己的SSH(自已为源输出就使用--sport)   
  47. -A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT   
  48. #访问外部网站80端口(使用外部端口就使用--dport)   
  49. -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT   
  50. #如果服务器需要访问外部网站,那么OUTPUT也需要配置53端口(使用外部端口就使用--dport)   
  51. -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT   
  52. -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT   
  53. #如果有访问外部邮箱,那么打开邮箱相关端口(使用外部端口就使用--dport)   
  54. -A OUTPUT -p tcp -m tcp --dport 465 -j ACCEPT   
  55. -A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT   
  56. -A OUTPUT -p tcp -m tcp --dport 110 -j ACCEPT   
  57. #服务器网站访问端口(自已为源输出就使用--sport)   
  58. -A OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT   
  59. -A OUTPUT -p tcp -m tcp --sport 3306 -j ACCEPT   
  60. -A OUTPUT -p tcp -m tcp --sport 11211 -j ACCEPT   
  61. -A OUTPUT -p tcp -m tcp --sport 11212 -j ACCEPT   
  62. COMMIT   
  63. Completed on Fri Mar  19:59:43 2012  

5.可能有时候需要删除规则,最简单就是修改一下/etc/sysconfig/iptables然后service iptables restart,最后/etc/rc.d/init.d/iptables save即可。

当然也可以使用指令完成:

  1. 在网上找了一下,删除规则的方法:   
  2. 语法是: iptables -D chain rulenum [options]   
  3. 其中: chain 是链的意思,就是INPUT FORWARD 之类的   
  4.              rulenum 是规则的编号。从1 开始。可以使用  --line-numbers 列出规则的编号   
  5.     
  6. 所以,例如上面要删除一个INPUT链的规则的话可以这样:iptables -D INPUT 3   
  7. 意思是删除第3条规则。   
  8. 还有第二种方法。第二种办法是 -A 命令的映射,不过用-D替换-A。当你的链中规则很复杂,而你不想计算它们的编号的时候这就十分有用了。也就是说,你如何用iptables -A.... 语句定义了一个规则,则删除此规则时就用 -D 来代替-  其余的都不变即可。   
  9. ======================   
  10. 说一下上面的 --line-numbers 选项,如下面的命令:   
  11. iptables -L INPUT --line-numbers   列出INPUT 链所有的规则   
  12. num  target     prot opt source               destination            
  13.    REJECT     tcp  --  anywhere             anywhere            tcp dpt:microsoft-ds reject-with icmp-port-unreachable   
  14.    REJECT     tcp  --  anywhere             anywhere            tcp dpt:135 reject-with icmp-port-unreachable   
  15.    REJECT     tcp  --  anywhere             anywhere            tcp dpt:netbios-ssn reject-with icmp-port-unreachable   
  16.   
  17. ...   
  18. ...   
  19. 删除指定行规则:   
  20. [root@localhost rc.d]# iptables -D INPUT  

  6.最后补充一下,如果想针对某IP进行单独开放端口可以如下配置:

  1. 如果我需要对内网某机器单独开放mysql端口,应该如下配置:   
  2. iptables -A INPUT -s 192.168.2.6 -p tcp -m tcp --dport 3306 -j ACCEPT   
  3. iptables -A OUTPUT -s 192.168.2.6 -p tcp -m tcp --sport 3306 -j ACCEPT  

7.彻底禁止某IP访问:

  1. #屏蔽单个IP的命令是   
  2. iptables -I INPUT -s 123.45.6.7 -j DROP   
  3. #封整个段即从123.0.0.1到123.255.255.254的命令   
  4. iptables -I INPUT -s 123.0.0.0/8 -j DROP   
  5. #封IP段即从123.45.0.1到123.45.255.254的命令   
  6. iptables -I INPUT -s 124.45.0.0/16 -j DROP   
  7. #封IP段即从123.45.6.1到123.45.6.254的命令是   
  8. iptables -I INPUT -s 123.45.6.0/24 -j DROP   
  9. 指令I是insert指令 但是该指令会insert在正确位置并不像A指令看你自己的排序位置,因此用屏蔽因为必须在一开始就要加载屏蔽IP,所以必须使用I命令加载,然后注意执行/etc/rc.d/init.d/iptables save进行保存后重启服务即可  
]]>
Thu, 17 Sep 2015 06:10:03 +0000 山坛兄弟 http://flagpatternmaker.com/linux/177.html
梦之城平台登录注册九万彩票是真是假:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/175.html 以下为字符串匹配操作符:
~  为区分大小写匹配
~* 为不区分大小写匹配
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
1: 限制某些类型的客户端的访问

  1.    
  2. location / {  
  3. if ($http_user_agent ~ MSIE) {  
  4. return 503;  
  5.   }  
  6. }#限制IE访问  

如果把MSIE改成 Mozilla 就基本上把IE和firefox这样pc浏览器限制了
2和3主要是针对盗链做处理
2:针对不同的文件类型

  1.    
  2. location ~ .*\.(wma|wmv|asf|mp3|mmf|zip|rar|jpg|gif|png|swf|flv)$ {  
  3.      if ($http_referer ~* hecks.tk) {  
  4.      #rewrite ^/ http://www.hecks.tk/403.html;  
  5.      return 403;  
  6.       }  
  7. }  


3:针对不同的目录

  1.    
  2. location /img/ {  
  3.     root /data/img/;  
  4.    if ($http_referer ~* hecks.tk) {  
  5.              rewrite  ^/  http://www.hecks.tk/images/error.gif  
  6.              #return   403;  
  7.     }  
  8. }  


另外的一个nginx配置例子
worker_processes 2; #工作进程数,在网上看到说最优是cpu的二倍

  1. error_log   current_path/log/nginx.error.log debug;  
  2. pid         shared_path/pids/nginx.pid;  
  3.   
  4. events {  
  5.   worker_connections 1024;#最大连接数  
  6. }  
  7.   
  8. http {  
  9.   include           /usr/local/nginx/conf/mime.types;#content type 文件  
  10.   default_type      application/octet-stream;  
  11.   
  12.   log_format  main  '$remote_addr - $remote_user [$time_local] $status '  
  13.                     '"$request" $body_bytes_sent "$http_referer" '  
  14.                     '"$http_user_agent" "$http_x_forwarded_for"';  
  15.   
  16.   access_log  current_path/log/nginx.access.log main;#log文件存放地方  
  17.   
  18.   sendfile          on;  
  19.   tcp_nopush        on;  
  20.   tcp_nodelay       on;  
  21.   keepalive_timeout 70;  
  22.   
  23.   gzip              on;  
  24.   gzip_min_length   1000;  
  25.   gzip_buffers      4 8k;  
  26.   gzip_comp_level   9;  
  27.   gzip_proxied      any;  
  28.   gzip_types        application/xml application/javascript application/x-javascript application/atom+xml application/rss+xml;  
  29.   gzip_types        text/css text/html text/javascript text/js text/plain text/xml;  
  30.   
  31.   upstream mongrel {#proxy 负载均衡配置  
  32.     server 127.0.0.1:8000;#服务器1  
  33.     server 127.0.0.1:8001;#服务器2  
  34.   }  
  35.   
  36.   server {  
  37.     listen 80;  
  38.     server_name hecks.tk www.hecks.tk;  
  39.     root current_path/public;  
  40.     index index.html index.htm;  
  41.   
  42.     location / {  
  43.       proxy_set_header  X-Real-IP  $remote_addr;  
  44.       proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;  
  45.       proxy_set_header Host "www.hecks.tk";  
  46.       proxy_redirect false;  
  47.       proxy_max_temp_file_size 0;  
  48.   
  49.       # rewrite 'hecks.tk' -> 'www.hecks.tk'  
  50.       if ($host = 'hecks.tk' ) {  
  51.           rewrite  ^/(.*)$  http://www.hecks.tk/$1  permanent;  
  52.       }  
  53.      #如果静态文件存在服务器,则跳过rewrite规则  
  54.       if (-f $request_filename) {  
  55.           expires max;  
  56.           break;  
  57.       }  
  58.       # redirect feed requests to feedburner, unless its the feedburner agent  
  59.       if ($http_user_agent !~ FeedBurner) {  
  60.         rewrite ^/feed/atom.xml$ http://feeds.feedburner.com/hecks;  
  61.       }  
  62.       if (-f $request_filename/index.html) {  
  63.         expires 7d;  
  64.         rewrite (.*) $1/index.html break;  
  65.       }  
  66.       # support rails page caching  
  67.       if (-f $request_filename.html) {  
  68.         rewrite (.*) $1.html break;  
  69.       }  
  70.       # pass it onto upstream mongrel cluster  
  71.       if (!-f $request_filename) {  
  72.         proxy_pass http://www.hecks.tk;  
  73.         break;  
  74.       }  
  75.     }  
  76.   
  77.     location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov).*?$ {  
  78.       root current_path/public;  
  79.       if (!-f $request_filename) {  
  80.         proxy_pass http://www.hecks.tk;  
  81.         break;  
  82.       }  
  83.     }      
  84.   
  85.     error_page 500 502 503 504 /50x.html;  
  86.     location = /50x.html {  
  87.       root current_path/public;  
  88.     }  
  89.   }  
  90. }  
]]>
Wed, 16 Sep 2015 07:13:39 +0000 山坛兄弟 http://flagpatternmaker.com/linux/175.html
梦之城平台登录注册12博app:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/174.html 1、安装iptables防火墙

如果没有安装iptables需要先安装,CentOS执行:

yum install iptables

Debian/Ubuntu执行:

apt-get install iptables

2、清除已有iptables规则

iptables -F
iptables -X
iptables -Z

3、开放指定的端口

-A和-I参数分别为添加到规则末尾和规则最前面。

#允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -i lo -j ACCEPT
# 允许已建立的或相关连的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT
# 允许访问22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#允许访问80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#允许FTP服务的21和20端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#如果有其他端口的话,规则也类似,稍微修改上述语句就行
#允许ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#禁止其他未允许的规则访问
iptables -A INPUT -j REJECT  #(注意:如果22端口未加入允许规则,SSH链接会直接断开。)
iptables -A FORWARD -j REJECT

4、屏蔽IP

#如果只是想屏蔽IP的话“3、开放指定的端口”可以直接跳过。
#屏蔽单个IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即从123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP

4、查看已添加的iptables规则

iptables -L -n

v:显示详细信息,包括每条规则的匹配包数量和匹配字节数
x:在 v 的基础上,禁止自动单位换算(K、M) 
n:只显示IP地址和端口号,不将ip解析为域名

5、删除已添加的iptables规则

将所有iptables以序号标记显示,执行:

iptables -L -n --line-numbers

比如要删除INPUT里序号为8的规则,执行:

iptables -D INPUT 8

6、iptables的开机启动及规则保存

CentOS上可能会存在安装好iptables后,iptables并不开机自启动,可以执行一下:

chkconfig --level 345 iptables on

将其加入开机启动。

CentOS上可以执行:service iptables save保存规则。

另外更需要注意的是Debian/Ubuntu上iptables是不会保存规则的。

需要按如下步骤进行,让网卡关闭是保存iptables规则,启动时加载iptables规则:

创建/etc/network/if-post-down.d/iptables 文件,添加如下内容:

#!/bin/bash
iptables-save > /etc/iptables.rules

执行:chmod +x /etc/network/if-post-down.d/iptables 添加执行权限。

创建/etc/network/if-pre-up.d/iptables 文件,添加如下内容:

#!/bin/bash
iptables-restore < /etc/iptables.rules

执行:chmod +x /etc/network/if-pre-up.d/iptables 添加执行权限。

]]>
Wed, 16 Sep 2015 07:07:50 +0000 山坛兄弟 http://flagpatternmaker.com/linux/174.html
梦之城平台登录注册葡京赌场手机平台:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/154.html sh /www/wdlinux/tools/mysql_root_chg.sh 

ftp配置文件检查,在FTP不能连接或登录时有用 
sh /www/wdlinux/tools/pureftp_conf_check.sh 

wdcp权限检查,在wdcp后台不正常或部分功能无法使用时有用 
sh /www/wdlinux/tools/wdcp_perm_check.sh 

wdcp数据库无法连接的修复,如登录后台提示"无法连接mysql,请检查mysql是否已启动及用户密码是否设置正确" 
sh /www/wdlinux/tools/mysql_wdcp_chg.sh 

wdcp后台登录密码忘记的修改方法 
sh /www/wdlinux/tools/wdcp_login_chp.sh 

wdcp后台限制登录IP设置错误的修复方法 
sh /www/wdlinux/tools/wdcp_login_cbip.sh 

wdcp后台限制登录错误次数的修复方法 
sh /www/wdlinux/tools/wdcp_cdip.sh 

修改时间和同步时间的方法 
sh /www/wdlinux/tools/wdcp_ntp.sh 

硬盘分区的小工具 众所周知,在wdcp,wdOS,lanmp等安装的环境里,web环境及wdcp等目录都是安装在/www目录下的 以几种情况 1 VPS有两个硬盘,一个系统分,一个数据盘 2 安装时/www在系统盘里,空间不够用或加载新硬盘等 对于这两种情况,一般只要将新加载的分区或硬盘,加载到/www目录即可,但操作起来,有点麻烦 下面就提供这样的简便的小工具 sh /www/wdlinux/tools/wdcp_disk_xvdb.sh 适用情况 新加载的硬盘是/dev/xvdb时可用,主要是在VPS的环境里,分系统盘和数据盘 可以在安装前执行,也可安装完后执行,不过最好是在安装前执行 端口说明 默认情况下wdcp的后台是使用到8080端口,可修改 lamp环境里 httpd是用到80端口 lnmp环境里 nginx是用到80端口 在lnamp环境里 httpd是用到88端口(不可修改) nginxd是用到80端口 希望不要再有人问为什么在lnamp环境里,httpd变成了88端口 
相关的启动命令
service wdapache start|stop|restart [wdcp后台 启动|停止|重起] 
service nginxd start|stop|restart [nginx服务 启动|停止|重起] 
service httpd start|stop|restart [httpd服务 启动|停止|重起] 
service pureftpd start|stop|restart [ftp服务 启动|停止|重起] 
service mysqld start|stop|restart [mysql服务 启动|停止|重起] 

wdcp后台服务环境安装目录(wdcp2后才有,1.X没有)
/www/wdlinux/wdapache wdcp后台用的apache 
/www/wdlinux/wdphp wdcp后台用的php 

相关软件安装目录 
/www/wdlinux/nginx nginx安装目录 
/www/wdlinux/apache apache安装目录 
/www/wdlinux/pureftpd pureftpd安装目录 
/www/wdlinux/Zend zend安装目录 

默认mysql数据库文件及日志目录 
/www/wdlinux/mysql/var 虚拟主机配置文件 
/www/wdlinux/nginx/conf/vhost 
/www/wdlinux/apache/conf/vhost 

相关配置文件 
/www/wdlinux/etc/my.cnf 
/www/wdlinux/etc/php.ini 
/www/wdlinux/nginx/conf/nginx.conf 
/www/wdlinux/php/etc/php-fpm.conf 
/www/wdlinux/apache/conf/httpd.conf 
/www/wdlinux/apache/conf/httpd-wdl.conf 
/www/wdlinux/etc/pure-ftpd.conf 
/www/wdlinux/etc/pureftpd-mysql.conf

默认web日志目录 
/www/wdlinux/nginx/logs 
/www/wdlinux/apache/logs 

也可以在后台设置默认是 /www/web_logs 
默认备份文件目录(后台可设置) /www/backup 
默认回收站目录(后台可设置) /www/trash
]]>
Tue, 21 Oct 2014 14:02:07 +0000 山坛兄弟 http://flagpatternmaker.com/linux/154.html
梦之城平台登录注册乐发国际官网:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/150.html
1.hosts文件.

和Windows系统下的host的文件相类似,就是一个文本文件,里面存放一些IP和域名的对应关系。

2.host.conf. #解析器查询顺序配置文件

例:vi /etc/host.conf

order hosts bind 表示先查询本地hosts文件,如果没有结果,再尝试查找BIND dns服务器。

3. resolv.conf

配置Linux系统DNS服务器的配置文件:

vi /etc/resolv.conf

nameserver 192.168.0.1

nameserver 202.99.96.68

]]>
Wed, 08 Oct 2014 12:29:38 +0000 山坛兄弟 http://flagpatternmaker.com/linux/150.html
梦之城平台登录注册凤凰联盟旗下平台:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/136.html DenyHosts官方网站为:http://denyhosts.sourceforge.net
1. 安装
# tar -zxvf DenyHosts-2.6.tar.gz
# cd DenyHosts-2.6
# python setup.py install
默认是安装到/usr/share/denyhosts目录的。
2. 配置
# cd /usr/share/denyhosts/
# cp denyhosts.cfg-dist denyhosts.cfg
# vi denyhosts.cfg
PURGE_DENY = 50m #过多久后清除已阻止IP
HOSTS_DENY = /etc/hosts.deny #将阻止IP写入到hosts.deny
BLOCK_SERVICE = sshd #阻止服务名
DENY_THRESHOLD_INVALID = 1 #允许无效用户登录失败的次数
DENY_THRESHOLD_VALID = 10 #允许普通用户登录失败的次数
DENY_THRESHOLD_ROOT = 5 #允许root登录失败的次数
WORK_DIR = /usr/local/share/denyhosts/data #将deny的host或ip纪录到Work_dir中
DENY_THRESHOLD_RESTRICTED = 1 #设定 deny host 写入到该资料夹
LOCK_FILE = /var/lock/subsys/denyhosts #将DenyHOts启动的pid纪录到LOCK_FILE中,已确保服务正确启动,防止同时启动多个服务。
HOSTNAME_LOOKUP=NO #是否做域名反解
ADMIN_EMAIL = #设置管理员邮件地址
DAEMON_LOG = /var/log/denyhosts #自己的日志文件
DAEMON_PURGE = 10m #该项与PURGE_DENY 设置成一样,也是清除hosts.deniedssh 用户的时间。
3. 设置启动脚本
# cp daemon-control-dist daemon-control
# chown root daemon-control
# chmod 700 daemon-control
完了之后执行daemon-contron start就可以了。
# ./daemon-control start
如果要使DenyHosts每次重起后自动启动还需做如下设置:
# ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts
# chkconfig --add denyhosts
# chkconfig denyhosts on
然后就可以启动了:
# service denyhosts start
可以看看/etc/hosts.deny内是否有禁止的IP,有的话说明已经成功了。
]]>
Sun, 13 Jul 2014 02:23:23 +0000 山坛兄弟 http://flagpatternmaker.com/linux/136.html
梦之城平台登录注册优游入口-优游登陆网址-优游入口登陆:旺季不旺,10月创全年成交第二低,还敢买房吗? http://flagpatternmaker.com/linux/123.html 由于本人在国外注册的域名在国内访问有点慢,所以需要用国内的免费dns服务器(有免费的,为什么不用?呵...暂时没必要去组一个DNS服务器出来),但这些DNS服务器不支持域名转向,于是只能用别的方法了——这方法很牛:连后面了具体网址,甚至跟了rewrite都可以转向! 
把代码分享给大家 

1、开启apache支持.htaccess,方法:
在Apache的配置文件httpd.conf中,找到
<Directory />
    Options FollowSymLinks
    AllowOverride None
把其中的AllowOverride None改为AllowOverride All,然后重启apache。

2、在网站的根目录下新建一个.htaccess的文件,并把.htaccess文件的权限改成644

3、把下面的三行内容复制到这个文件中

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^zijidelu.com [NC] 
RewriteRule ^(.*)$  [L,R=301]

记得把域名改成你自己的...
如果你要启用Rewrite,那么请将规则内容也放到这个文件中来

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
以后当别人访问

会自动转向到:


是不是很好啊?
由于是301转向,PR值也转了哦!]]>
Sat, 03 May 2014 11:05:41 +0000 山坛兄弟 http://flagpatternmaker.com/linux/123.html