Archive for March, 2006

补了安全漏洞

原文参见Howlym:DreamHost漏洞简易解决方法

请DH新用户在host新的domain的时候,千万不要使用默认的web Directory设置,而是自己手动更改一下,这样别人才不至于从你的logs里,知晓你相应域名所在的directory。

具体方式:
1. Manage Domains,Web Hosting / Edit
2. 更改Web Directory里面的默认设置yourdomain.com为你自己定义的ownname。
3. 使用FTP“移动”功能即可。注意把.htaccess这种文件也移过去(有些FTP设置里默认不显示“.filename”文件,在shell下可以用命令”ls -al”来查看)。
4. 使用Shell,在yourdomain.com路径下,使用mv令即可。

mv * ../ownname

你的yourdomain.com文件夹如果清空了,则会在稍后被系统自动清除。

注意,如果你的Movable Type或其他程序设置里有绝对路径的(例如Movable Type的archives路径),一定要到相应的位置进行更改,否则重建系统会报错。
/home/username/yourdomain.com/…更改为
/home/username/ownname/…
注意,crontab里如果涉及绝对路径,则也应做相应更改!

接下来,把所有含有类似绝对路径的文件(mt-config.cgi, wp-config.php, lilina.edit, and so on)全部将chmod设为600!

chmod 600 mt-config.cgi

注意,Movable Type用户的mt-config.cgi里面,可以使用相对路径或者http路径的,不必一定把整个绝对的路径都写进去。

注意,这只是一个不完全的补漏洞方式,由于/logs是public可读的,因此,入侵者或group用户可以通过error.log,轻易地知道你domain.com对应的根目录文件夹!唯一可行的,是把所有密码文件权限改为600。

[2006-04-07,更新信息]
Dreamhost客服对此漏洞答复如下:

Do not make files that have sensitive information in them world-readabale
(or writable/executable) – you should always employ that as a security
measure regardless of the kind of system you are on.

It’s actually been like this for almost a decade without causing any
problems (we’ve looked into it and there’s not a fix that we can
implement without causing many more serious issues).

大致意思是说:含有敏感信息的文档不要把属性设置成组成员和公共可读,不管自己位于什么样的系统上,这都是作为衡量系统安全性的考量。这种Dreamhost的安全设置已经运行近十年,还没出过严重问题。

那么多人因为CPU时间及安全性而放弃了Dreamhost,他们认为这并不重要!

 

关于DH的CPU时间

关于DH的CPU时间,在网上的诸多的讨论了,我也不多说,只写我这里发生的情况:

提供一个DH的CPU时间数据,使用MT3.2,
mt-comments.cgi的CPU使用时间是
christna 0.33 cpu 2904k mem 0 io mt-comments.cgi
christna 0.38 cpu 2904k mem 0 io mt-comments.cgi
christna 0.33 cpu 2904k mem 0 io mt-comments.cgi
christna 0.32 cpu 2904k mem 0 io mt-comments.cgi

按平均0.35算吧,3600/0.35=10286,也就是如果MT blog有10286个留言或者spam,你就挂了。

再看看lilina的:
christna 8.27 cpu 8346k mem 0 io php.cgi
christna 1.10 cpu 6772k mem 0 io php.cgi
christna 8.75 cpu 8330k mem 0 io php.cgi
christna 7.49 cpu 8396k mem 0 io php.cgi

呵呵,流氓吧?把程序运行时间当作CPU时间,如果不超时才怪!

我查了一下,最主要是几个原因:
1. DH的流氓CPU时间统计方式
我用lilina做聚合的时候,一次聚合时间(19个网站)大约是8秒,结果CPU时间统计也是8s,敢情我所在的主机上750位朋友在这8秒里全让我给占了!

2. Run PHP as CGI
我勾了这一项,所有的PHP程序被当作是CGI程序来运行,当然加重了CPU时间. 但如果你WP纯PHP程序来跑会怎么样呢?测试结果明天就出来。WP可以在mod_php下面跑,不知道会不会看到希望。

3. DH的数据库服务器是独立于WEB服务器的,也就是说,MT3.2使用的MySQL服务器要再采用远程操作,这加长了操作时间,网上也有反映DH的数据库操作时间比bluehost慢5~8倍,再加上流氓的统计CPU时间方式,难怪连个mt-comment也要用那么长的CPU时间!

估计还有其他,具体原因正在测试,稍后再续。

 

My Life, Rated

This is a game to analysis your life score, which I saw from Ms. Rain Weng’s home page, seems very interesting. The results of my quiz is below:

This Is My Life, Rated
Life: 7.3
Mind: 6.7
Body: 7.3
Spirit: 7
Friends/Family: 4.7
Love: 6.2
Finance: 7.7
Take the Rate My Life Quiz

Details of each item:

Read the rest of this entry »

 

有趣的事实

本文来自SINA网.

  大自然和人类历史上有许多事情令人不可思议,看起来不像是真的,但却都是事实,这正是大自然的奇妙之处。比如:人说一个字需要动70块肌肉;激光消除文身可能引发爆炸;高尔夫球的速度相当于赛车的平均速度;大象鼻子有4万块肌肉……美国“发现频道”就列举了一些这样的事实,令人大开眼界而又叹为观止。

  1 近期有记录的海洋中最高的浪高达21米,是2004年发生在毛伊岛上的巨浪,不过有史以来有记录的最高巨浪却是1958年发生在美国阿拉斯加州利图亚湾的巨浪,海浪超过510米,比纽约的摩天大楼“帝国大厦”还高,是由海啸引起的。

  2 一个蚕茧可抽出1000英尺的丝来,而制造一根丝绸领带需要用100多个蚕茧。

  3 人的身体共有650块肌肉,而大象的鼻子居然有4万块肌肉。

  4 一棵最大的软木橡树可以生产足够的软木塞密封10万瓶葡萄酒,说起软木塞,人被香槟酒瓶塞打死的概率比被毒蜘蛛咬死的概率高三倍。

  5 我们吃东西时有酸甜苦辣咸的味道,这是因为我们的舌头上有味蕾,不过味蕾的寿命不长,平均只有10天,舌头上的味蕾有1万个。

  6 人类说一个字需要动用70块肌肉,而机器人Elektro的嘴只需一个继电器操纵就会说话。

  7 银河系中有2.5万亿颗星星,人的身体里有250万亿根血管。

  8 赤脚在火上行走是一项令人心惊胆颤的活动,1998年7月2日,一个名叫大卫·韦利的人创下了在火上行走的最长世界纪录,他在燃烧的煤上行走了165英尺,当时的温度最高达到了华氏1300度(约为摄氏704度),这么高的温度足可以让钢熔化。

  9 被从正面击打的高尔夫球的速度可达每小时170英里,这是一级方程式赛车的平均速度。

  10 月球上没有大气层,因为它的地心引力太强大了,所有的气体粒子都被吸附在其表面。由于没有大气层,当一个人试图在月球上说话时,他的话就不会被从嘴中传递出去。

  11 有一座叫“圣海伦斯”的火山1980年爆发,岩石崩裂飞出的速度创造了历史纪录,达到每小时250英里,比日本著名的子弹头火车速度还快。

  12 玻璃是一种非常固定的物质,如果让其自然分解的话,需要100万年的时间,所以我们为了保护环境而注意使用玻璃制品,要有回收利用的意识,每回收一个玻璃瓶所节省的能量足可以让100瓦的灯泡亮4小时。

  13 鸟最高的飞行高度达到37000英尺,而商业飞机最高才飞35000英尺左右。

  14 飞机喷出的烟雾占美国烟雾的1%,而一架波音747飞机在起飞和降落时喷出的烟雾比一辆车行驶5600英里排放的烟雾都要多。

  15 苏格兰威士忌的香味由300多种化学物质构成。

  16 一架航天飞机穿越美国只需8小时,速度真是非常快,但跳蚤起跳时的加速度是航天飞机升空时加速度的20倍。

  17 鲟鱼可活100年,体重可达2500磅,相当于一辆小型汽车的重量。

  18 蜘蛛丝比防弹背心里的纤维B(一种质地牢固重量轻的合成纤维)还要坚固,一根由蜘蛛丝拧成的铅笔一样粗的绳索可以拉住一架飞行中的波音747飞机。

  19 “阿波罗”号宇宙飞船宇航员在月球上的脚印在1000万年后仍将会留在那里,不过,到那个时候,月球离地球的距离将比现在远357英里。

  20 有人以文身为美,尤其一些时尚小伙子,但煤矿工人常常意外地被纹身,当煤灰进入伤口而伤口又愈合了,就成为文身,让他们非常苦恼。如果不小心因黑色火药而导致了文身,那么当用激光进行消除时可引发火药爆炸。

  21 世界上最响的喊叫声达到了129分贝,而130分贝就会让人感到疼痛并引起耳朵损伤。

  22 人类的心跳平均每分钟是75次,一个心脏一年输送的血液量可以充满一个奥运会标准的游泳池。

  23 1磅炸药可产生2200兆瓦的能量,一秒钟引爆1000亿吨炸药产生的能量相当于太阳产生的能量。

  24 在古代埃及,尸体变成木乃伊的过程需要70天,科学家估计埃及共制作了7000万个木乃伊。

  25 狗让耳朵运动的肌肉数量是人让耳内运动动用的肌肉数量的两倍,而长颈鹿可以用舌头清洗自己的耳朵。

  26 人类的牙齿的咬合力是200磅,而美洲鳄的咬合力达到2000磅。

  27 人的耳朵能够承受而不至引起损害的最高声音是130分贝,而摇滚乐的音量平均达到150分贝。

  28 地球每一秒钟都会遭受100次闪电的袭击,一次闪电可以让100瓦的灯泡亮3个月。

  29 人们常说万里无云,你也许真的发现你头上的天空一望无际全是蓝的,没有一丝云彩,但任何时候,云彩都布满二分之一的天空,不是这里就是那里有云,而一个雨滴是由一百万个云滴组成的。

  30 有些蜗牛一次可以睡3年,人的一生睡眠时间平均为25年。

  31 直升机的主旋翼叶片每分钟转300次,而一只角嘴海雀一分钟拍动翅膀的次数也是300次。

  32 一个体重150磅的人到月球上的重量是25磅,而在太阳上的重量则有4200磅。

  33 眨一次眼的时间是十分之一秒,而一个人平均每年眨眼420万次。

  34 如果一艘太空船飞向宇宙黑洞,那么它离黑洞越近飞行的速度就越慢,直到停止,颜色开始变成橙色然后变成红色,最后消失得无影无踪。

  35 将国际空间站完全建成后,其长度有一个足球场那么大,地球上90%的人将能够用肉眼看得到它。

 

NetMD-Sony N10

我的N10是2003年初买的,花了大洋2450.00,时髦的玩艺儿,买来却基本没听过,丢在小B那里,她也不常听,偶尔坐车时间较长的时候,她才会翻出来。五张MD碟,有三张还是只录过一次的:P

不过,想当初自己还有过购买E888耳机的冲动,以及又看到了HI-MD的出现,可能N10真的落伍了吧,连小B都气它录MP3的时候很吃人的耐心,前几天,用Sonicstage给小B的MD录歌,死了N次机之后,最终只能录CD和较正规的MP3(非VBA的)。为此还差一点被她仍到窗外……七楼哦~~摔下去估计尸骨无存了。感谢上帝,它现在还躺在小B的包包里,未遭噩运。

 

awstats6.5安装笔记

今天依照DreamHost Wiki的指示,成功安装了多域名分析的awstats6.5,以下的笔记大多是翻译了WIKI上的文档以及参考了Chedongawstats安装笔记。同时,安装过程也是一次很好学习使用shell的机会。

1. Download awstats6.5 下载程序
Login,进入根目录后,利用wget下载源程序:

wget http://awstats.sourceforge.net/files/awstats-6.5.tar.gz

解压缩文件:

tar xfzv awstats-6.5.tar.gz

将文件夹/awstats-6.5重命名为/awstats,并进入/awstats文件夹:

mv awstats-6.5 awstats
cd awstats

2. 安装准备
新建文件夹/data用于存放awstats的数据,并改变/data权限:

mkdir data
chmod -R 755 data

将awstats的/cgi-bin目录移动到/home/yourusername/awstats/下面:

mv wwwroot/cgi-bin .

在你的domain1.com下面新建一个/statistics的文件夹,用于存放awstats最终生成的静态页面文件:

cd domain1.com
mkdir statistics

将/icon,/css,/js三个文件夹拷贝到/statistics文件夹下面,以使其静态页面可以正常引用这些文件:

cp /home/yourusername/awstats/wwwroot/icon
/home/yourusername/domain1.com/statistics/icon

cp /home/yourusername/awstats/wwwroot/css
/home/yourusername/domain1.com/statistics/css

cp /home/yourusername/awstats/wwwroot/js
/home/yourusername/domain1.com/statistics/js

注意,如果执行时出现”cp: omitting directory”的提示信息,则请使用cp -r参数来递归拷贝这些文件。

3. 配置conf文件
进入/home/yourusername/awstats/cgi-bin/文件夹,你的config文件都保存在这里:

cd ~
cd ./awstats/cgi-bin/

不要直接重命名你的awstats.model.conf文件,建议采用拷贝的方式新增:

cp awstats.model.conf common.conf

其中common.conf就是你新生成的用于所有domain的公共配置文件,在不同域名的配置文件中则可以完全省略这一冗长的部分。

但是,如果你只对一个域名进行统计,则可以直接生成文件”awstats.domain.com.conf”,再按以下方式进行编辑设定。

GeoIP.dat的path可以通过以下命令得到:

locate “GeoIP.dat”

我得到的路径是:”/usr/local/share/GeoIP/GeoIP.dat”,你的不一定也是这个,请确认清楚。

现在编辑公共配置文件:

vi common.conf

进入后,处于命令状态时,最下面一行显示了文件基本信息,或者空白,按”insert”键进入编辑模式,最下行显示”–insert–”及当前光标位置信息(注:再次按”insert”键会进行到”–replace–”模式,插入及替换模式用”insert”键来切换)。现在进入–Insert–模式,改动以下信息:

#LogFile=”/home/yourusername/logs/domain1.com/http/access.log.0″
# SiteDomain=”domain1.com”
# HostAliases=”www.domain1.com”
DNSLookup=0
DirData=”/home/yourusername/awstats/data/”
DirIcons=”icon”
SaveDatabaseFilesWithPermissionsForEveryone=0
DefaultFile=”index.php index.html”
lang=”cn”
LoadPlugin=”decodeutfkeys”
LoadPlugin=”geoip GEOIP_STANDARD /usr/local/share/GeoIP/GeoIP.dat”

编辑完成后,按”ESC”切换到命令模式,输入”:w”回车,保存当前变更,再使用”:q”退出vi编辑界面。
注意:被”#”屏蔽掉的三行,是每个domain不同的,需要在各个awstats.domain*.conf中设定。

如果你只对一个域名进行统计,则不必屏蔽这三行,写入正确的配置参数即可。

接下来,针对不同的域名,设定不同的配置:

cp awstats.model.conf awstats.domain1.com.conf
vi awstats.domain1.com.conf

在awatats.domain1.com.conf里,首先删除所有内容,在命令状态下,输入”ndd”,n为从光标所在位置向下的行数,光标下n-1行将被删除。
正文输入:

Include “common.conf”
LogFile=”/home/yourusername/logs/domain1.com/http/access.log.0″
SiteDomain=”domain1.com”
HostAliases=”www.domain1.com”

保存退出即可。生成其他域名的方法相同,只需注意:”domain*.com”这一段要保持一致。

配置好所有的域名后,检查.pl文件的权限,所有.pl文件权限应设定为”755″,即”-rwxr-xr-x”:

ls -o

4. 首次生成统计页面

perl /home/yourusername/awstats/tools/awstats_buildstaticpages.pl
-config=domain1.com -update
-awstatsprog=/home/yourusername/awstats/cgi-bin/awstats.pl
-dir=/home/yourusername/domain1.com/statistics/

注意以上只有一行,自动换行除外。
使用web浏览器,地址栏键入http://domain1.com/statistics/awstats.domain1.com.html
看上去怎么样?

5. 设定crontab
编辑crontab任务清单,DreamHost使用nano编辑器:

crontab -e

针对不同的domain,设定其定时执行的cron job:

1 0 * * * perl /home/yourusername/awstats/tools/awstats_buildstaticpages.pl
-config=domain1.com -update
-awstatsprog=/home/yourusername/awstats/awstats.pl
-dir=/home/yourusername/domain1.com/statistics/

注意以上只有一行,自动换行除外。设定完成后,保存退出nano:

CTRL + O
CTRL + X

注意,你可以在不同的domain下设定不同的/statistics文件夹,这样的话,你的配置文件则需要做相应的改动。我把所有的统计页面都放在了/domain1.com/statistics下面,因此针对不同的domain只需要改动”-config=domain1.com”一项即可。

详细的使用crontab方法详见Shell使用指南

6. 设定.htaccess文档
设定默认页面,在你的.htaccess文档中写入:

DirectoryIndex awstats.domain1.com.html

当用户访问http://www.domain1.com/statistics时,会自动访问/awstats.domain1.com.html,对于domain2.com及domain3.com的统计页面,请自行研究解决吧。

详细的.htaccess使用请见.htaccess指南

 

shell使用指南

本文中所用的shell指令及操作均基于Linux ord 2.4.29,即DreamHost现在采用的系统。本人不是计算机专业出身,本指南因此会比较死板,只针对想要使用shell又苦于不知如何下手的新手,如果你也是DreamHost的用户,那本文或许对你有所帮助。

目录:
1. Basic Instructions /基本指令
2. wget /下载工具
3. Crontab /定时任务
4. tar/tar.gz /压缩文件
5. vi /编辑器

[最后更新: 2006-03-11]

Read the rest of this entry »

 

信用卡·难言的痛

前段时间,还在同情kingway办信用卡不顺利,现在轮到自己了。

早上在凤凰上看新闻,其中一则正好吸引眼球:
招行卡积分兑奖被疑欺诈 换帕萨特需刷4千万,因为我正在用招行的信用卡。看完文章后又气又笑,引用一段大家一起乐一乐:

富豪真的能以“大手笔”购买赢得帕萨特吗?记者随后以普通消费者身份向招商银行信用卡中心咨询此项活动的具体情况。客服中心的胡女士说,招商银行在2004年10月份推出此项积分兑换礼品的活动,消费者持该行信用卡消费达200万积分可兑换上海大众帕萨特2.0手动挡汽车,限量一辆,截止时间为2007年10月底,“目前还没有人达到200万积分”。当记者问及是否可以利用购买房产、汽车等大件商品来赢得积分时,胡女士提醒说:“不能买大件。”她表示,顾客持信用卡用于房产、汽车、批发、汽车商品四大类消费是不作为积分兑换礼品的。记者计算了一下,如果每天划卡1次,每次100元,一年可以消费36500元,消费到4000万元,需要1000多年,相当于从宋朝初年到现在的时间都达不到。如果每天划卡1次,每次10000元,一年可以消费3650000元,消费到4000万元也需要11年,但已经超过银行规定的期限。如果每天划卡1次,每次10万元,一年可以消费3650万元,消费到4000万元,只需要1年多的时间。

还有一点,招行是有黑名单的,在网页上你可以找到一个商户列表,凡是进入这个列表的都不予以积分,沈阳、南昌、广州、昆明的朋友,要注意了。

前些天还在跟KW讨论,银行提供信用卡,还有免息期,那么银行靠什么赚信用卡用户的钱呢?期待每个人都不能按期还款么?

我看,不如干脆取消什么积分,信用卡就是信用卡,附加那么多P事,到头了还是自己砸了自己的脚。现在捆绑这玩艺儿很流行,不过,欧盟不是要罚微软了么?罚得好,让挂着羊头卖狗肉的都清醒一下。

 

Putty

一款十分小巧并且实用的Shell工具, Putty (Download file).

另一种Unix终端工具fterm由浙大的fuse开发, 是一个多功能的term,可以用来访问BBS(maple or Firebird). http://fterm.zj001.net下载最新版本.

 

Daniel Wallesch

My friend, Mr. Daniel Wallesch, is from Germany, and ever lived in China for almost 8 months.

He is learning Chinese at the moment and also very good in English, possible to be in China in near future. You may access him through him homepage:

http://www.wurzelzwerg.org/

which will show you most of the beautiful pictures during his stay in China, Malaysia, Australian, and his blogs also very attractive (if you are able to read it of cause…).

Just introduce him to all, maybe he can get more friends in China, maybe girlfriend or else…we will see….