交互式shell编程利器expect

手里有几台Linux服务器需要经常添加用户,每次都要登录到相应的机器上去添加,特别麻烦。于是想,可不可以在一台机器上写一个脚本来远程管理其它服务器呢?

目标首先瞄准了我熟悉的PHP-CLI,它有一个开发中的模块ssh2,可以完成相应的功能。这个不想说了,因为用了半天都不行,Bug还太多,建议大家如非必要还是不要用这个模块的好。

没了PHP,很迷茫,然后很幸运地发现了expect。expect是交互式shell编程的利器,可以根据返回值来确定下面发送什么命令,特别好用。我把自己编写的远程增加用户的shell跟大家分享下(需要机器装有expect,没有的自己装吧),脚本如下:
Read the rest of this entry »

关于OpenDNS和DNS劫持

DNSPod官方博客《我为什么不建议使用OpenDNS和Google Public DNS》给我们纠正了一些看法,全文大体说明了以下几个问题:

  1. 因为DNS查询用的是UPD协议,某墙十分容易就可以篡改,所以使用OpenDNS并不能防止域名被劫持;
  2. GoogleDNS解析速度还可以OpenDNS解析速度较慢(达到600多ms);
  3. GoogleDNS或者OpenDNS会解析出国外国外镜像网站IP,因而降低访问速度;

说得很对,但是第1条还有一种情况奶罩没有考虑到,就是国内DNS服务器可以直接劫持域名的。这种情况,OpenDNS或者GoogleDNS是可以防止的。

对第3条我是深有体会,学校机房电信专线,却设置了学校的DNS服务器(教育网),结果导致一大堆网站上不了,道理完全相同。

既然某墙升级了,可以直接更改DNS查询包来劫持域名,我们应该怎么做?

Read the rest of this entry »

2Mbps的ADSL跑出7MB/s的下载速度?!

222国内主机服务形势日趋严峻,众多网站移居国外。美国主机价廉物美受到广大站长的追捧,但是也有一些无良的主机商很离谱,比如下面要说的这位。在说之前,请你先测试下这们主机商的下载速度:

http://www.kualo.com/img/100meg.file

速度怎么样?如果你是2M的ADSL上网,下载速度可能会超过7M/s(极限速度是256KB/s)。而像我这样用100M端口的呢,看右图:30.7M/s(极限速度12.5M/s),都超过了的极限速度。

Read the rest of this entry »

Linux中文件和目录的权限问题

最近搞了几个VPS玩,VPS一般来说内存都不多,配置轻量级的Nginx+PHP,折腾当中权限问题搞了半天。

大家都知道,Linux中文件和目录都有自己的权限,分为rwx三种,分别代表读、写、执行的权限。但是目录和文件又不一样,不能被写和执行,文件rwx三种权限与目录的对比如下:

权限 文件 目录
r 可以列表该目录中的文件
w 可以在该目录中创建或者删除文件
x 执行 可以搜索或者进入该目录

现在很多的博客代码都提供在线安装插件或者升级等方便的功能,但是如果权限设置的不正确就无法使用,比如《WordPress“执行请求操作,连接信息必需提供”解决方法》中提到就是这样的问题。

Read the rest of this entry »