2013年11月10日星期日

修改kloxo下的pure ftpd的文件上传数限制

修改/etc/xinetd.d/pureftp文件中的
server_args     = -A -c5000 -C8 -D -fftp  -H -I15 -lpuredb:/etc/pure-ftpd/pureftpd.pdb -lunix -L50000:8 -m4 -s -p30000:50000 -U133:022 -u100 -Oclf:/var/log/kloxo/pureftpd.log -g/var/run/pure-ftpd.pid -k99 -Z -Y 1 -n50000:1000

pure-ftpd的参数设置
-0: 当存在同名文件时,旧版本的文件不被删除或者截断,而是采用临时文件。当整个文件上传完毕之后,才指向新的文件。这个开关选项跟虚拟配额不兼容。
-1: 在系统日志的输出中,记录每个会话( Session )的 PID 
-4: 只监听 IPv4 的连接
-6: 只监听 IPv6 的连接
-a : 只有通过认证的用户才可以直接访问它的 home 目录。该选项对没有 shell 的系统用户特别有用。注意,这里的  是组的数组,而非字母显示。并且,root 始终对整个文件系统有完整的访问权。
-A: 除了 root 之外,都可以使用 chroot()
-b: 忽略部分 RFC 的标准,以处理完全坏掉的客户端、穿越防火墙或者 NAT 
-B: 以标准的方式在后台启动服务器
-c : 允许同时连接的客户端数列。默认是 50
-C : 同一 IP 最大连接数
-d: 在系统日志中记录各种信息,口令不会记入日志中,推荐只有需要 debug 时使用。如果两个 -d ,相应信息也一并记入日志。
-D: 即使当客户端没有使用 -a 选项时,同样列出所有以 ”.” 开头的隐藏文件。不推荐使用。
-e: 只开放匿名用户访问
-E: 只开放认证用户使用,匿名访问被禁止
-f : 使用指定程序记录系统日志,默认时 ’ftp’ 。如果使用 ’-f none’ 则不记录日志。
-F : 在登陆的时候显示一个 fortune 信息,而不是固定的登陆信息。其中  是符合 fortune 格式的文本文件,fortune信息之间用'%'号隔开。 这是需要在编译时加入 ’—with-cookie’ 选项。如果仅仅是一个简单的文本文件,则在每次登陆是显示相同的信息。
-g : 改变默认 pid 文件的位置。默认是位于 /var/run/pure-ftpd.pid
-G: 不允许重命名
-H: 系统默认是要对 IP 地址进行解析,才记入日志文件中。使用这个选项,则可以避免这样做。从而避免带宽的浪费。
-i: 不论目录的权限设置,匿名用户始终不能进行上传
-I : 发呆的时间,以分钟为单位。默认是 15 分钟
-j: 如果用户的 home 目录不存在,就自动创建
-k :  FTP 服务器占用空间超过规定的百分比,则不能再上传文件了。不用加 ’%
-K: 允许用户 resume  upload 文件,但是不可以删除和重命名这些文件。空的文件夹也可以被删除。可以通过 ’-r’ 禁止该选项。
-l  或者 -l :: 添加一个新的规则
-L :: 默认的, pure-ftpd 不会显示超过 2000 个文件或者深度大于 5 的路径
-m : 如果 CPU 负载超过指定值,则不运行匿名用户下载。但是上传依然允许
-M: 允许匿名用户创建目录
-n :: 如果服务器被编译成支持虚拟配额,则该选项可以约束所有的用户(新任组的用户出外)。其中,最大的文件大小以 M 为单位
-N:NAT 模式,强制 Active 。当 ftp 服务器位于 NAT 、伪装网关或者路由器后面时,如果无法正常访问,可以采用此选项。
-o: 将所有上传的文件写入 ’/var/run/pure-ftpd.upload.pipe’ ,使得 ’pure-uploadscipte’ 程序可以运行。
-O :: 以指定格式将文件传输记入日志文件中。目前支持的格式包括: CLF  Stats  W3C  xferlog
-p :: 包括被动模式在内,服务器只会选择从开始到结束的端口进行监听。
-P :  PASV  EPSV  SPSV 命令的相应,强制以指定的 IP 地址或 hostname 相应。
-q :: 为匿名用户指定上传和下载 ration
-Q :: 为除了 root 组的用户外的所有人指定上传和下载 ratio  root 组的用户没有 ratio 限制
-r: 永远不覆盖已经存在的文件。这是,上传一个已经存在的文件时,会自动为其重命名,入: xyz  xyz.1  xyz.2 。如果编译时使用 ” make AUTORENAME_REVERSE_ORDER=1” ,则重命名的文件是 1.xyz  2.xyz
-R: 即使是非匿名用户(除了 root 之外),也不允许使用 chmod 命令
-s: 不允许匿名用户下载属主是 ftp 的文件(其它匿名用户上传的文件)。这样可以保证必须经过管理员的修改,这些文件才能被匿名用户下载。
-S  绑定到指定的地址和端口。例:
/usr/local/sbin/pure-ftpd -S 21
/usr/local/sbin/pure-ftpd -S 192.168.0.1
/usr/local/sbin/pure-ftpd -S 192.168.0.1,21
/usr/local/sbin/pure-ftpd -S mci.uestc.edu.cn,21
-t   -T : 带宽限制。  是以 k/s 为单位,同时可以指定上传和下载的带宽,支持 []:[] 语法
-u : 禁止 uid 小于  的用户登陆。 -u 1 可以禁止 root 用户登陆, -u 100 可以禁止绝大多数系统虚拟用户登陆。
-U :: 改变默认的掩码,默认的是 133:022 。如果希望上传的文件只能被上传该文件的用户读,使用 ’-U 177:077’ 。如果希望上传的文件可以被执行,使用 022:022 (文件可以被其它用户读,但是不能写)。 077:077 文件只能被所有者执行或者读。 Pure-ftpd 支持 SITE CHMOD ,使得用户可以被改变自己文件的属性。
-V : 只允许在指定地址的非匿名的 FTP 访问。这时,可以将公网 IP 路由到一个指定的内网 IP 地址,或者将新任的 IP 地址路由到指定的内网 IP 地址。
-v : 支持苹果的 Bonjor ,只有当 Bonjor 选择在编译的时候支持是,苹果的 MacOS X 才能有此属性。
-w: 只对认证的用户支持 FXP 协议
-W: 支持 FXP 协议
-x: 默认时,非匿名用户可以读和写以 ’.’ 开头的隐藏文件,而匿名用户则不可以。当该选项指定时,用户只能下载这些文件,但是不能覆盖和创建,即使该用户时是该文件的属主。如果希望是用户可以访问特定的以 ’.’ 开头的文件,可以通过建立该文件的链接(非 ’.’ 开头的文件名)达到目的
-X: 用户除了不能写以 ’.’ 开头的文件,如果使用了该选项,用户不能读这样的文件,也不能进入这样的目录。(当以 ’-a’ 参数启动,受信的用户可以绕开 ’-x’  ’-X’ 的限制)
-y :: 如果编译时加入了 --with-peruserlimits 选项,该选项限制了同一个用户可以同时拥有的 session 数目。空值 0’ 意味着没有限制
-z: 允许匿名用户读以 ’.’ 开头的文件和目录
-Z: 避免用户犯简单的错误。当前,该选项可以避免用户错误的使用 chmod 命令,防止他们不能访问自己的文件或者目录。该选项在将来还会有更多的功能。所以,推荐host 服务器打开该参数

2013年11月6日星期三

2013年10月7日星期一

修改windows 7休眠文件位置

打开注册表编辑器(runas /user:administrator regedit),查找hiberfil.sys,找到后修改他的路径。然后禁用休眠(runas /user:administrator "powercfg -h off"  主要是为了删除原来的文件),重启,再开就会出现在新位置.

2013年8月20日星期二

修改centos的时区

rm -rf /etc/localtime    #删除当前默认时区www.kwx.gd
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
#复制替换默认时区为上海

2013年8月10日星期六

修改xen vps的root密码

1. 通过solusvm关闭vps

2. 比如vps的id是vm289,xen母鸡下,先建立一个文件夹,比如 /mnt/vm, 然后mount /dev/xen/vm289_img /mnt/vm

3. 将挂载的文件虚拟成当前根目录, chroot /mnt/vm

4. passwd root, 修改密码

5. exit退出chroot环境, umount /mnt/vm, 并重新启动vps

2013年8月7日星期三

修改kloxo中mysql的root密码

#!/bin/sh
add=/usr/local/lxlabs/kloxo/etc/slavedb/dbadmin
oldpasswd=9wphkwrk_k8
oldpasswd1=58zujzxy_du
oldpasswd2=tcvman2e_4d
function randomPasswd()
{
a=(0 1 2 3 4 5 6 7 8 9 a b c d e A B C D E F)
for ((i=0;i<6 blockquote="" do="" i="">
echo -n ${a[$RANDOM % ${#a[*]}]}
done
}
passwd=$(randomPasswd)
curPasswd=`awk -F\" '{print $10}' $add`
echo $passwd
if [ $curPasswd == $oldpasswd ] || [ $curPasswd == $oldpasswd1 ] || [ $curPasswd == $oldpasswd2 ]; then
   sed -i "s/9wphkwrk_k8/$passwd/g" $add
   /usr/bin/mysqladmin -uroot -p$oldpasswd password $passwd
else
   echo "Nothing change!!"
fi

2013年6月23日星期日

设置openvz高载后自动重启

#!/bin/bash
LOGS="/var/log/openvzRestart.log"
VZIDLOAD=`/usr/sbin/vzlist -o ctid,laverage,ip | grep "/" | awk -F'/' '$2>18{print $1,$2}' | awk '{print $1}'`

#echo $VZIDLOAD > $LOGS
for VZID in $VZIDLOAD
do
usr/sbin/vzctl restart $VZID >/dev/null 2>&1
STOPDATE=`date -d today +"%Y-%m-%d %H:%M"`
echo "$STOPDATE - $VZID has been restarted by causing high load" >> $LOGS
done

2013年5月25日星期六

临时禁止solusvm白名单检测


登录SSH后,使用如下命令先禁止白名单检测
touch /usr/local/solusvm/tmp/fixwhitelist
然后就可以登录SolusVM了,进入后再去Admin Whitelist删除掉之前添加的记录。
最后执行如下命令来重新恢复白名单检测:
rm /usr/local/solusvm/tmp/fixwhitelist

2013年5月5日星期日

Openvz 下 Debian下的时区和时间设置

设置本地时区:# dpkg-reconfigure tzdata
关闭默认UTC时间:vi /etc/default/rcS  把UTC=yes改为UTC=no,使Linux默认BIOS时间为本地时间
修改系统时间: # date -s "YYYY/MM/DD hh:mm:ss"

2013年4月28日星期日

Centos 如何配置iptables匹配域名过滤

升级内核的方法:

内核下载地址:  www.kernel.org

L7的相关文件  http://l7-filter.clearfoundation.com/downloads/start

iptables   http://www.netfilter.org

升级内核到2.6.28 并支持L7/string

解压源码包


tar xzf linux-2.6.28.tar.gz
tar xjf iptables-1.4.10.tar.bz2
tar xzf l7-protocols-2009-05-28.tar.gz
tar xzf netfilter-layer7-v2.22.tar.gz

cd linux-2.6.28

make mrproper  清理工作

patch -p1 < /usr/src/netfilter-layer7-v2.22/kernel-2.6.25-2.6.28-layer7-2.22.patch  #打上L7补丁


make menuconfig

Networking--Networking options--Network packet filtering (replaces ipchains)--Core Netfilter Configuration
把L7和支持 string 等选上
make

make modules
make modules_install
make install

重启系统 
#uname -a 
Linux localhost.localdomain 2.6.28 
编译iptables 支持layer7
cd /usr/src/netfilter-layer7-v2.22/iptables-1.4.3forward-for-kernel-2.6.20forward/
cp libxt_layer7.* /usr/src/iptables-1.4.10/extensions/


上面两步必须操作,这样iptables才能支持,因为新版本的iptables不用打补丁了,直接复制过去即可
cd /usr/src/iptables-1.4.10/
./configure --prefix=/ --with-ksource=/usr/src/linux-2.6.28
make
make install
#iptables -V 
iptables v1.4.10
安装协议
cd /usr/src
cd l7-protocols-2009-05-28
make install


#iptables -t mangle -I PREROUTING -m layer7 --l7proto edonkey -j DROP

如没有提示 则无问题





第二种方法:我刚刚测试过

首先确认内核版本: uname   -r    

例如:[root@localhost iptables-1.4.10]# uname -r

2.6.18-194.el5



这样我从kernel上下载2.6.18的内核

linux-2.6.18.tar.bz2



下载:l7-protocols-2009-05-28  (L7的主程序)

netfilter-layer7-v2.6 (内核的补丁)



内核下载地址:  www.kernel.org

L7的相关文件  http://l7-filter.clearfoundation.com/downloads/start

iptables   http://www.netfilter.org

解压源码包


tar xzf linux-2.6.18.tar.bz2
tar xjf iptables-1.3.5.tar.bz2
tar xzf l7-protocols-2009-05-28.tar.gz
tar xzf netfilter-layer7-v2.6.tar.gz

cd linux-2.6.18
make mrproper  清理工作

patch -p1 <../netfilter-layer7-v2.6/kernel-2.6.18-layer7-2.6.patc  #打上L7补丁(根据内核版本)


make menuconfig

Networking--Networking options--Network packet filtering (replaces ipchains)--Core Netfilter Configuration
把L7支持 string 等选上
make modules_prepa

2013年4月16日星期二

如何杀死linux中zombie(僵死进程)


解决方法:
  #ps -A -o stat,ppid,pid,cmd |grep -e "^[Zz]"    //先查看具体进程:
    #kill -9 pid号                    //杀死z进程(这些动作是比较危险的,希望在真正的服务器上面慎用!!!)

2013年4月10日星期三

2013年4月9日星期二

centos 安装iostat工具

yum install sysstat

nrpe标准设置


################################ edited by oyzjin
command[check_iftraffic]=/usr/lib64/nagios/plugins/check_iftraffic -i eth0 -w 80 -c 95 -b 10 -u m
command[check_iostat]=/usr/lib64/nagios/plugins/check_iostat -w 10 -c 15
command[check_disk]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -e
command[check_mem]=/usr/lib64/nagios/plugins/check_mem -w 90,3 -c 95,5

rpmforge安装源地址

http://pkgs.repoforge.org/rpmforge-release/

tw_cli 查看raid卡状态

tw_cli show

tw_cli [ctl] show

2013年4月6日星期六

安装配置 NRPE

监控平台上的安装:
先安装 openssl-devel
yum install openssl-devel
Installing for dependencies: e2fsprogs-devel krb5-devel

再安装 NRPE:
tar zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin

在 objects/commands.cfg 中定义 check_nrpe 使用的命令:
  1. # 'check_nrpe' command definition
  2. define command{
  3.         command_name    check_nrpe
  4.         command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
  5.         }
复制代码
被监控主机的安装:
同样需要安装 openssl-devel
创建 nagios 用户和组
groupadd nagios
useradd -g nagios -d /usr/local/nagios -s /sbin/nologin nagios

先安装 nagios-plugin:
tar zxvf nagios-plugins-1.4.12.tar.gz
cd nagios-plugins-1.4.12
./configure --prefix=/usr/local/nagios
make
make install

再安装 NRPE:
tar zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config

chown -R nagios:nagios /usr/local/nagios

配置 NRPE:
vi /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,$Nagios监控平台的地址或域名

启动 NRPE 守护进程:
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
可以将此命令加入 /etc/rc.local ,以便开机自动启动。

检查 NRPE 是否正常:
在被监控主机上
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
在监控平台上
/usr/local/nagios/libexec/check_nrpe -H $目标主机地址
都应该可以输出 NRPE 的版本: NRPE v2.12

在被监控端的 nrpe.cfg 文件中,可以看到这样的配置:
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
这是用来检查 CPU 负载的。

这样,就可以在监控平台上定义如下服务来监控被监控端的 CPU 负载了:
  1. define service{
  2. host_name remotehost
  3. service_description check_load
  4. ...
  5. check_command check_nrpe!check_load }
复制代码

youtube的dns屏蔽方法

  216.239.38.120 是 Google 提供的一个特殊 DNS 服务器,用于强制开启 YouTube 受限模式(Restricted Mode) 。 如果你想在家里强制 YouTube 进入受限模式,可以在 路由器的 DNS 设置 中配置以下 DNS 服务器: D...