maluyao's blog

Fedora Core 5 中vimtutor 程序的中文问题之解决

在Redhat 9 中,如果语言设定为zh_CN
则可以用 vimtutor zh 命令启动一个vi 的教学程序,是中文的。这对笔者从事教学很有帮助。

在Fedora Core 5版本中,缺省语言被设置为zh_CN.UTF-8 ,这时vimtutor zh 命令会乱码,原因是
/usr/share/vim/vim70/tutor/tutor.zh.euc 文件使用的是gb2312编码,我们只要将期改为utf-8 编码即可。

命令为:

iconv -f gb2312 /usr/share/vim/vim70/tutor/tutor.zh.euc -t utf-8 > tmp.txt
/bin/mv tmp.txt /usr/share/vim/vim70/tutor/tutor.zh.euc

这样问题即可解决。

如果你未曾在线升级,则需要进行转码的文件为:

实现基于LDAP的用户管理实现基于LDAP的用户管理马路遥 maluyao@163.com实现基于LDAP的用户管理

马路遥

日常工作当中,我们经常会管理多台Linux服务器,如果每台服务器都有自己独立的用户名和密码。系统管理员就需要维护多套用户名和密码,非常不方便和难于记忆。

笔者从事Linux的培训工作,也经常遇到这样的问题:“每次学生上机的时候,座位可能都是不同的。学生有可能会更改密码,如果互相配合的不好,别人就无法登陆。而且学生上一次保存的文件资料,也很难找到。”于是,笔者就将老师使用的电脑配置成为LDAP和NFS服务器,同时为所有的学生提供密码验证服务来解决这个问题。

在Fedora Core 5 (Bordeaux) 中安装IBM DB2 8.2数据库

作者: 马路遥

  最新发布的Fedora Linux Core5 (代号Bordeaux),带来的很多新的功能.如更好的中文支持,全新的GCC 4.1 等.但遗憾的是使用普通方法安装IBM DB2 数据库时,会出现严重错误而失败。s笔者通过反复摸索.终于成功的将DB2 8.2 成功的安装在Fedora Core 5 上。

  以下的步骤除非特别声明,否则都需要以超级用户root的身份执行。而且最好禁用selinux 的功能。方法试编辑/etc/selinux/config文件,确保其中存在SELINUX=disabled 行。这也许需要重新启动Linux才能生效。

配置OpenLDAP使用TLS通讯

配置OpenLDAP使用TLS通讯
作者:马路遥

  缺省的情况下,OpenLDAP 服务器和客户端之间使用明文通讯,这在一定条件下是不安全的,OpenLDAP 支持TLS加密。这需要制作证书和修改OpenLDAP的配置文件。

制作证书的步骤如下:
进入/usr/share/ssl/misc 目录,如果此目录下已经存在demoCA 目录,则应该先将demoCA目录删除。
执行下列命令:

./CA -newcert
openssl rsa -in newreq.pem -out newkey.pem

  前一个命令会寻问一系列问题,其中其中”PEM pass phrase”(密码)、”Common Name” 两项是必填的,”Common Name”建议使用你的主机名称。密码则至少为4个字符。其他问题可以留空不填。

Fedora Core 5 上LVS HA 相关的RPM包

在Fedora Core5 中,几乎所有LVS Heartbeat 相关的软件已经做成rpm格式了,
有些是Fedora DVD里自带的,还有些来自Fedora Extra。如果不是采用最小安装的话,很多包可能已经予装好了。

fedora-usermgmt-0.8-2.fc5.noarch.rpm
fedora-usermgmt-setup-0.8-2.fc5.noarch.rpm
fedora-usermgmt-shadow-utils-0.8-2.fc5.noarch.rpm
gnutls-1.2.10-1.i386.rpm
heartbeat-2.0.5-1.fc5.i386.rpm
ldirectord-2.0.5-1.fc5.i386.rpm
libtool-ltdl-1.5.22-2.2.i386.rpm
lm_sensors-2.9.2-1.i386.rpm

单套打法中的J 10 9 8

很久没打桥牌了,近来一共打了不到40副牌,居然有4副看错了牌点,而且都导致损失。计算也感觉非常勉强,但有些以前精心研究过的东西还是没有忘掉。
3C定约,这是将牌的结构。庄家从table出小,同伴是格列佛。
  108x
Axx   J9
  KQ76x

如果我跟9,以后庄家肯定打不错,我们只能拿一墩。
我跟J,庄家上K,同伴忍让,其实不忍让亦可。
现在庄家认为同伴是A9xx四张,不忍让的话,也不会影响庄家的判断。

庄家现在手上出小,明手放8飞9,结果被我的9拿了一墩。

川粤时空

教师节公司请客,在民族学院附近的川粤时空吃饭,粤菜做得不错。
清蒸鱼、炒虾球等,在北京难得吃到地道的粤菜。

Linux + Firefox 登陆网上银行--巧用Greasemonkey扩展

作者: 马路遥 maluyao at 163.com
关键字: Linux Firefox Greasemonkey 扩展 开发 extension 网上银行 建设银行 招商银行 交通银行
前言
  本文不是一篇Hacker教程。你必需使用自己的用户名和密码登陆银行,而不是猜测别人的。甚至如果你对Firefox扩展和JavaScript不甚熟悉的话。按本文的例子行动还会有很大风险。

  本文的作者拒绝对本文的正确性提供任何形式的担保,包括但不限于明示和暗示的。

  Greasemonkey是Firefox 的一种非常强大的扩展,能够在网也内容读入之后,页面显示在浏览器之前执行指定的JavaScript脚本。Greasemonkey 的下载地址。使用方法可以参考如何使用Greasemonkey。本文所介绍的方法,要首先要安装这个扩展。而且您要仔细查看使用说明,才能够理解本文所描述的方法。
  其实另外一个被广泛下载的扩展 Web Developer ,也能实现本文所描述的功能,但更为复杂。

  我们虽然能成功地以旁门左道登录网上银行,但这未必是最好的方法,笔者希望每位从本文得到帮助的读者,都能给你开户银行的webmaser发一封email,要求该行能够直接支持Firefox。如果对方能够修改网页界面支持Firefox,下次评选最佳网行银行的时候,您就可以考虑投他一票。本文附录中列出了部分银行网站webmaster的email地址。

概论

  经常有人说可以在计算机中完全使用Linux生活和工作,但实际上在中国大陆还不能做得到。拿本人来说,我有99.9%的时间都是使用Linux的。不论是写C或Shell程序,听音乐、看电影、在棋圣道场看棋谱,或是在Yahoo游戏打桥牌,都绝无问题甚至游刃有余。但仍然有一个重要的原因使我不能脱离Windows 系统,就是Linux无法登陆某些国内的网上银行。无论如何,我不能和钱过不去。
  最近,MS开始禁止盗版Windows进行网上自动更新,这对很多人无疑是一个打击,这更坚定了我抛弃Windows系统的决心。本人目前的职业是Linux教师,深深地热甃inux/FreeBSD一类的开源软件,非常希望能像理查德.斯托尔曼一样,完全用开源软件。如果有些做不到,就争取无限接近。开源软件的最大优点之一就是可以自己动手编写一些东西。笔者虽然不是程序员,但也能折腾两下。

  国内的银行现在用多如牛毛来形容,应该是一点都不过分的。下面的银行列表表格摘自 hao123网站

银行列表略,见pdf版本。

  很多银行本人根本没有帐号,所以并不关心。据说“洋”行的网站基本对所有浏览器都支持,包括IE 、Firefox、Opera、Safari等。但以前听说过一在英国发生的新闻,某用户在使用Lynx软件访问银行的时候,竟被怀疑是黑客,导致警察上门。所以说,外国的月亮确实圆一点,但也很有限。

  上表中我标出两个绿底的,北京银行和中国银行。前者可以很好地支持Firefox,后者据同事说可以支持Firefox。这里只能对他们的网站设计和人员表示敬意。
  三个蓝底的银行,招商银行、建设银行、交通银行我都有帐号,是不能直接使用FireFox的。其中招商银行和交通银行的登录页面上有ActiveX控件,不能被Firefox所支持。而建设银行的页面,有一个Firefox所无法使用的软键盘。工商银行我虽然没帐号,但知道也不兼容FireFox。

  随机挑选了几个大陆以外的银行,发现除了招商银行香港分行以外,都可以使用Firefox。”和国际接轨“的口号大家已经听烦了,从火车票的票价到大学生的学费都如此,下一个接轨的据说是北京的士的车费。但什么时候春风能吹到银行呢?

  网上银行登录页面的作用,在让客户提交正确的帐号、密码以及其他信息。只要我们能够正确的提交数据,无论页面采用ActiveX还是ActiveY技术,都不会影响我们使用。下面我们来具体分析一下各家银行页面的作用。
  能够提交数据的途径是修改登录页面。例如下列的html代码。

<form method=post action="http://foo.com/cgi-bin/test.pl">
username: < input name=username type=text >
password: < input name=password type=password >
< input name=submit type=submit value="OK" >

  如果我们用浏览器访问该页面并在用户名和密码部分填写zhang3和123.并点击OK按钮,就会将数据提交给http://foo.com/cgi-bin/test.pl处理。甚至你可以直接在你的浏览器地址栏上直接输入http://foo.com/cgi-bin/test.pl?username=z3&password=123 ,效果通常相同。
  网上银行比这要复杂一些,因为很多银行存在一个图片”验证码“,这无法用直接提交的方式发送数据。必需登录银行指定的登录界面。
  刚开始研究这个问题的时候,笔者尝试通过建立一个FireFox的扩展的方式登录网上银行,在深入研究了XUL、DOM等文档后,成功地开发出了自己的扩展,但随后发现,利用现有的Greaemonkey扩展是个更简单的方案。
  Greasemonkey扩展既然可以运行Javascipt脚本,我们就能够利用脚本动态修改页面,使得其能够被Firefox显示并且能提交正确的数据。首先分析原因所在,其中最容易的就是建设银行。

建设银行
  
  建行网上银行的登陆入口

  此页面的问题在于,如果使用Windows+IE ,当试图输入密码时,会打开一个软键盘来输入,这有一定的安全性,但也就只能防止某些可以记录键盘输入的间谍软件而已,但使用Firefox,就根本不能输入密码。

 其部分代码如下(除去了一些定义外观的部分):

< td nowrap>证件号码:< /td> < td nowrap colspan=3> < input name="USERID" type="text" title="证件号码"> < /td>

< td nowrap>登录密码:< /td>
< td nowrap colspan=3> < input id="LOGPASS" name="LOGPASS" type="password" title="登录密码" readOnly onKeyDown="Calc.password.value=this.value" onChange="Calc.password.value=this.value" onclick= "password1=this;showkeyboard();this.readOnly=1;Calc.password.value=''">< /td> < /tr>

  核心问题就是在上述代码中readOnly属性,这使得我们不能够直接输入密码,而只能借助于前文所说的软键盘。
  我写了下面的脚本,用来重写一个标准的密码框来取代原有的部分,内容如下:

1.// ==UserScript==
2.// @namespace http://teenblog.org/tiantian
3.// @name ccb Assist
4.// @description ccb Assist
5.// @include https://ibsbjstar.ccb.com.cn/app/B2CMainPlat?CUSTYPE=0&TXCODE=CLOGIN
6.// ==/UserScript==
7.var passArea=document.getElementsByTagName("td")[104];
8.passArea.innerHTML='<input id="LOGPASS" name="LOGPASS" type="password" class="textlogin" size="20" minLength="6" maxLength="12" title="password">';
9.alertMessage='This page was modified by Greasemonkey extension.\nThe extension use a user defined JavaScript.\nThe Content of JavaScript is not related with Greasemonkey.\nBe care to use this.\nCopyright: GPL V2 \nAuthor: maluyao at 163.com\nKnow Bugs: \n Can not logout\n' ;
10.alert(alertMessage);

  前4行都是描述性的。第5行指出了本脚本针对的网页。
  第7行得到指定的和之间的内容,并在第8行中替换成我们自己的格式。第9行和第10行是弹出一个关于版权和警告信息的窗口,提醒用户注意。当然,最后这两行不是必需的。
  
  把此脚本命名为jianhang.user.js后,直接用Firefox打开。并安装。
  现在用Firefox打开建行的登录界面,就能输入卡号和密码了,正确输入数据并且提交后,进入了下个界面。
     在左上方能正确地看到本人的名字,下方显示的广东分行也是正确的(以前在广东开的户)。沉浸在喜悦当中的我,马上点右下的“不使用证书进入”。
  唉!!!!,只能说十分遗憾。建行网站的内部仍然不支持IE,还的另想办法。
办法就是继续研究html界面,并用适当的内容替换之。因为工作量的关系,笔者放弃了对建设银行的接续研究。
  中国银行的网上银行登录界面同样也有一个软键盘,但是用户可以选择使用或不使用之。从网站界面设计的方面评价,建设银行无疑是和中国银行有些差距了。国际话不能光在嘴上说。要落实在行动上。

交通银行
  
  接下来我们看看交通银行,交通银行的[url=https://pbank.95559.com.cn/personbank/common_logon.jsp]登陆界面[/url]

  交行的登陆界面上用一个ActiveX控件输入密码,这在Linux + Firefox 的环境下是无法显示的。我们的办法是在登陆此界面后,用Firefox 的扩展来修改登陆界面上的内容。重新生成一个Firefox能够正确显示的表单(Form),交通银行的脚本如下:

1.// ==UserScript==
2.// @namespace http://teenblog.org/tiantian
3.// @name JiaoHang Assist
4.// @description JiaoHang Assist
5.// @include https://pbank.95559.com.cn/personbank/common_logon.jsp
6.// ==/UserScript==
7.var addformhead=document.getElementsByTagName('td')[31];
8.alertMessage='This page was modified by Greasemonkey extension.\nThe extension use a user defined JavaScript.\nThe Content of JavaScript is not related with Greasemonkey.\nBe care to use this.\nPlease input Card Number on "Card Number"\nPlease input your password on "PassWord"\nPlease Input adding code below "Picture Code"\nCopyright: GPL V2 \nAuthor: maluyao at 163.com\nKnow Bugs: \n Can not logout\n JIE JI Card Only\n' ;
9.addformhead.innerHTML='' +
10. '\n <input type="hidden" name="netType" value="0"/> '+
11. '\n <input type="hidden" name="language" value="zh_CN"/> '+
12. '\n <input type="hidden" name="userType" value="02"/> '+
13. '\nCard Number '+
14. '\n

页面

Subscribe to RSS - maluyao's blog
randomness