2007 年 03 月 08 日
手动装 rpm
以前装错了rpm的版本,今天又犯了个很SB的错误,将rpm 给删了,没办法,只能手动装了。
下载 rpm 的 source 需要 hg 来 clone 他的 repository, 发现没有安装 hg ,于是就去安装 mercurial。
UnixInstall of Mercurial: http://www.selenic.com/mercurial/wiki/index.cgi/UnixInstall
又发现需要Python 2.3以上的版本,于是又去升级 python。
./configure --enable-unicode=ucs4下载 rpm source:
make
make install
hg clone http://hg.rpm.org/接下来就 configure 和 make && make install 了。
备注:如何解压 rpm 文件中的 files?
rpm2cpio file.rpm | cpio -div
2007 年 02 月 08 日
使用 up2date 对 Red Hat Network 连接上的问题
有一个很老版本的 Red Hat Enterprise Linux ES release 2.1 (Panama),需要对其进行 up2date,但是由于 ssl 的认证过期,所以会出现以下问题:
# rhn_register安装了一些乱七八糟的 up2date 相关的 rpm 后会出现以下问题:
A socket error occurred: SSL_connect error, attempt#1
A socket error occurred: SSL_connect error, attempt#2
A socket error occurred: SSL_connect error, attempt#3
SSL.Error: [('SSL routines', 'SSL3_GET_SERVER_CERTIFICATE', 'certificate verify failed')]
Googlel了一下,发现Red Hat 已经为这些过期的 up2date 准备好了一个详细的下载网页:
https://rhn.redhat.com/help/latest-up2date.pxt
这样对于任何一个版本的 Red Hat 都可以进行升级下载。
详细阅读: "使用 up2date 对 Red Hat Network 连接上的问题"
2006 年 11 月 16 日
route命令笔记
关于添加网关的一些汇总
有线Lan : 192.168.1.0/24
无线Lan : 192.168.2.0/24
主机中有两块网卡:
网卡1: eth0 , 拥有一个 global IP 221.xxx.xxx.xxx
网卡1: eth1 , 拥有一个 local IP 192.168.1.xxx
1) 从 global IP 来的 access 通过 default GW (Global IP GW) 返回 package
2) 从 local IP 来的 access 通过 192.168.1.10 返回 package
2006 年 09 月 16 日
Trouble Shooting: kernel: Out of Memory: Killed process 123456 (mysqld)
现象:
# tail /var/log/messages
Sep 11 00:37:11 blog kernel: Out of Memory: Killed process 27089 (mysqld).
Sep 11 00:37:11 blog kernel: Out of Memory: Killed process 27104 (mysqld).
Sep 11 00:37:12 blog kernel: Out of Memory: Killed process 27105 (mysqld).
Sep 11 00:37:14 blog kernel: Out of Memory: Killed process 27106 (mysqld).
Sep 11 00:37:15 blog kernel: Out of Memory: Killed process 27107 (mysqld).
Sep 11 00:37:15 blog kernel: Out of Memory: Killed process 27114 (mysqld).
Sep 11 00:37:16 blog kernel: Out of Memory: Killed process 27115 (mysqld).
Sep 11 00:37:17 blog kernel: Out of Memory: Killed process 27123 (mysqld).
Sep 11 00:37:17 blog kernel: Out of Memory: Killed process 27125 (mysqld).
Sep 11 00:37:18 blog kernel: Out of Memory: Killed process 27133 (mysqld).
Sep 11 00:37:19 blog kernel: Out of Memory: Killed process 27137 (mysqld).
详细阅读: "Trouble Shooting: kernel: Out of Memory: Killed process 123456 (mysqld)"
2006 年 09 月 13 日
[ZT]How to Repair a Corrupt MBR and boot into Linux
Original URL: http://linuxhelp.blogspot.com/2005/11/how-to-repair-corrupt-mbr-and-boot.html
详细阅读: "[ZT]How to Repair a Corrupt MBR and boot into Linux "
2006 年 08 月 02 日
通过SSH 使用 rsync 对系统的备份
rsync 主页 http://rsync.samba.org/
使用ssh 传输rsync 流量具有下述优点:可通过网络加密数据,也可利用使用ssh 客户端密钥建立的任何信任关系。如果要在两台计算机之间保持大型、复杂目录结构的同步性(尤其是两者间的差异很小时),那么rsync 就是一种使用起来极为方便(并且执行速度很快)、随心所欲的工具。
参数:
-e "ssh -p 2234"
录,那就不会从目标副本中删除这些文件和目录。要精确保存副本,须
包含 标志:
root@rover:~# rsync -ave ssh greendome:/home/ftp/pub/ /home/ftp/pub/
2006 年 07 月 12 日
对E-mail的分解,提取邮件图片和文字等
在Linux下对邮件进行分解,并提取其中的图片和文字。
OS: Linux
App. : PHP,Qamil,Pear MIME,SHELL
多数可以使用在使用邮件向Blog投稿等。
2006 年 06 月 16 日
转贴: vi的使用之汇总(By 张微波 )
原文: http://blog.5ilinux.com/archives/2006/06/vi.html
功能最强在的编辑器——vi
vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人,或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必将畅行无阻、游刃有余,因为其他几种文本处理器并非UNIX标准配备。说不定别人的Linux机器没安装joe或pico,如果您不会vi,那您可能就没辄了。
基本上vi可分为三种操作状态,分别是命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode),各模式的功能区分如下:
1. Comand mode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入Insert mode下,或者到Last line mode。
2. Insert mode:唯有在Insert mode下,才可做文字数据输入,按Esc等可回到Comand mode。
3. Last line mode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。
不过可以把vi简化成两个模式,即是将Last line mode也算入Command mode,把vi分成Command 和Insert mode。
2006 年 05 月 25 日
转贴:[Oracle] Installing Oracle 9iR2 on RHEL AS 3 Step-by-Step
作者:Fenng
日期:03-Mar-2004
出处:http://www.dbanotes.net
版本:0.13
TITLE:Installing Oracle 9iR2 on Red Hat Enterprise Linux Advanced Server 3 (RHEL 3)
内容简介
介绍如何在Red Hat Enterprise Linux (RHEL) 3上安装Oracle数据库9iR2,并提供安装过程中需要的相关信息。关键词:Oracle ,9iR2, RHEL,Install,安装,Red Hat Enterprise Linux。
全球最大的 Linux 厂商 Red Hat 公司 最近发布了Red Hat Enterprise Linux 3。该版本号称有史以来最强大的开 源操作系统,也被视为是当前最为完整的 Linux 企业级解决方案。得到了包括 Oracle 在内的众多重量级厂商的积极响 应,很多产品在该平台上通过了认证。Oracle 9iR2自然也在此列。
Oracle 9i+ RHL3 会有什么样的效果?可能很多技术人员都很感兴趣。心动不如行动,不如马上开始搭建自己的应用环境,亲身感受一下。
详细阅读: "转贴:[Oracle] Installing Oracle 9iR2 on RHEL AS 3 Step-by-Step"
2006 年 05 月 23 日
Oracle 9i 9.2.0.4.0 on Redhat Enterprise Linux 3
在 Redhat Enterprise Linux 3 上安装了好几次 Oracle 9i(2.0.4.0) 了,就是忘记了以下的几个 trouble shooting.
OS :RedHat Enterprise Linux ES3 update6
ORACLE :Oracle9i Database Release2 (9.2.0.4.0) for Linux
Error occurred during initialization of VM
Unable to load native library: /tmp/OraInstall2003-10-25_03-14-57PM/jre/lib/i386/libjava.so:
symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
Google 了以下,发现原来是需要打一个补丁:
To resolve the __libc_wait symbol issue, download the p3006854_9204 patch p3006854_9204_LINUX.zip from http://metalink.oracle.com. See bug 3006854 for more information.当然,这个补丁可以在Oracle 9i的 CD(UpdateCD)的 rhel3 文件夹里面找到。To apply the patch, run
su - root
# unzip p3006854_9204_LINUX.zip
Archive: p3006854_9204_LINUX.zip
creating: 3006854/
inflating: 3006854/rhel3_pre_install.sh
inflating: 3006854/README.txt# cd 3006854
# sh rhel3_pre_install.sh
Applying patch...
Patch successfully applied
#
详细阅读: "Oracle 9i 9.2.0.4.0 on Redhat Enterprise Linux 3"
2006 年 03 月 14 日
MySQL的一些工具
工作上需要写一些database的定义书。找来几个比较使用的可以export table 定义书的工具。但是要注意一点,版本只是限定在MySQL 3.23版本。
MySQL 3.23.58 Server & Client
「Common SQL Environment ver1.59」
http://www.hi-ho.ne.jp/tsumiki/
winclients-3.22.28的libmySQL.dll
http://www.softagency.co.jp/mysql/pro/win_winclients.html
以上是针对日语的版本。另外一些公用的:
MySQL Administrator
http://dev.mysql.com/downloads/administrator/
2006 年 03 月 06 日
[转贴]网站测试技术简介
作者:丁来庆
出处:超越PHP http://www.phpe.net/articles/321.shtml
在一个软件项目开发中,系统测试是保证整体项目质量的重要一环,本文将就网站的测试技术及相应的自动测试工具做一个简要的介绍。主要就如下几个方面进行探讨:
* 功能测试
* 性能测试
* 安全性测试
* 稳定性测试
* 浏览器兼容性测试
* 可用性/易用性测试
* 链接测试
* 代码合法性测试
2006 年 03 月 03 日
安装记录:hp Proliant DL380 和 Red Hat Enterprise Linux 3.0
Specification
Machine: HP ProLiant DL380 G4 (Raid 1)
OS: Red Hat Enterprise Linux ES 3.0 (No update)
Oracle: Oracle9i Database Release 2 (9.2.0.4.0) JP
Trouble Shooting: 无法识别硬盘
在安装 Red Hat ES 3.0 时,出现以下错误信息:
No hard drives have been found. You probably need to manually choose device drivers for the installtion to succeed. Would you like to select drivers now?同时尝试了 Fedora 3 和 RHEL 4,发现不会出现以上问题并能够正常安装。
详细阅读: "安装记录:hp Proliant DL380 和 Red Hat Enterprise Linux 3.0"
2006 年 02 月 24 日
phpMyAdmin 的字符显示问题
[msyqld] 和 [mysql] 的默认值 default-character-set=latin1 (不需要填写)
mysql> show variables;
+---------------------------------+----------------------------------------+
| Variable_name | Value |
+---------------------------------+----------------------------------------+
...
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
...
2006 年 02 月 18 日
[转贴]用PHP函数解决SQL injection(关于magic_quotes_gpc)
作者:lm92 来源:CSDN
出处:http://www.phpe.net/articles/372.shtml
SQL injection问题在ASP上可是闹得沸沸扬扬当然还有不少国内外著名的PHP程序“遇难”。至于SQL injection的详情,网上的文章太多了,在此就不作介绍。
如果你网站空间的php.ini文件里的magic_quotes_gpc设成了off,那么PHP就不会在敏感字符前加上反斜杠(\),由于表单提交的内容可能含有敏感字符,如单引号('),就导致了SQL injection的漏洞。在这种情况下,我们可以用addslashes()来解决问题,它会自动在敏感字符前添加反斜杠。
但是,上面的方法只适用于magic_quotes_gpc=Off的情况。作为一个开发者,你不知道每个用户的magic_quotes_gpc是On还是Off,如果把全部的数据都用上addslashes(),那不是“滥杀无辜”了?假如magic_quotes_gpc=On,并且又用了addslashes()函数,那让我们来看看:
<?php
//如果从表单提交一个变量$_POST['message'],内容为 Tom's book
//这此加入连接MySQL数据库的代码,自己写吧
//在$_POST['message']的敏感字符前加上反斜杠
$_POST['message'] = addslashes($_POST['message']);//由于magic_quotes_gpc=On,所以又一次在敏感字符前加反斜杠
$sql = "INSERT INTO msg_table VALUE('$_POST[message]');";//发送请求,把内容保存到数据库内
$query = mysql_query($sql);//如果你再从数据库内提取这个记录并输出,就会看到 Tom\'s book
?>
详细阅读: "[转贴]用PHP函数解决SQL injection(关于magic_quotes_gpc) "
2005 年 12 月 13 日
在线生成iptables防火墙脚本的网站
在线生成iptables防火墙脚本的网站
QUOTE:
在线生成firewall脚本(iptables)--向导模式
Bifrost - GUI firewall management interface to iptables
http://bifrost.heimdalls.comLinWiz - Linux configuration file and scripting Wizards
http://www.lowth.com/LinWiz/GIPTables Firewall - IPTABLES Rules Generator
http://www.giptables.org/[推荐] Easy Firewall Generator for IPTables(在线生成复杂的防火墙脚本*****)
http://morizot.net/firewall/gen/PFG for IPTables 在线生成简单的防火墙脚本***
http://www.thegate.nu/pfg/Firewall Builder - GUI Firewall Frontend(功能强大的防火墙构建工具*****)
http://www.fwbuilder.org/index.html
2005 年 11 月 11 日
试用 Javaforge:SVN hosting for your open source project
主要是为了选择一个比较好的 Free SVN Hosting Server,在 Google 上搜索到了这个由JAVALobby和INTLAND合作的新 Open Source Group 开发合作平台 http://www.javaforge.com/。
和 sf.net 一样,这个环境支持 Subversion , 在申请了账号后可以建立 private project, 并可以通过 http://svn.javaforge.com/svn/
对于个人或者小型的source开发者,以及个人文档的管理,Javaforge也许是一个不错的选择吧~
Quoted News by Kevin Yank:
The fine folks at JavaLobby have just announced a new community for open source Java projects: JavaForge.With SourceForge.net and Java.net already hosting thriving open source Java development communities, JavaForge is set to distinguish itself with the modern Subversion code versioning system (SourceForge.net and Java.net still use the older CVS system) and a raft of other features offered by the CodeBeamer platform.
I really hope this site takes off, or at the very least nudges the established sites closer to deploying Subversion. It really does address so many of the annoying issues that plague developers forced to use CVS.
详细阅读: "试用 Javaforge:SVN hosting for your open source project"
2005 年 11 月 09 日
是否可以这样活用SVN呢?
最近接触了 Subversion ,配置了一个简单的 SVN 服务器,同时也开始使用了。 和 Tortoise 的结合可以达到很好的使用效果(Windows Client + Linux Server)。
一直以来想有一个专门可以管理文档的服务器服务。像 Yahoo! Briefcase 之类的服务无非是一个单纯的存储业务而已了。这类服务(相片,网页,邮件)都可以归总于 File Hosting 业务,却不能支持版本管理服务。
进入公司后,会对一些文档进行长时期的编辑。这些工作会渗透到生活的时时刻刻中去。经常准备一个memo 是一个很好的习惯,但是使用随身带的 mobile PC、PDA、phone和 Internet ,就可以让你在任何地方进行文档的写作和代码的编写。 这似乎是我期望的生活模式了。 当然,去创造这种生活模式也许会带来更多吧~~ ;-P
看一下 COLLABNET Enterprise Edition 吧~~

SubVersion Links 提供了很多这方面有效的信息。
BTW, SVN出来了这么久了,我真的是落伍了~~~~ 汗!
2005 年 11 月 05 日
[ZT]Linux各项系统开机服务的功能是什么?
- alsasound
Alsa声卡驱动程序支持。Alsa声卡驱动程序本来是为了一种声卡Gravis UltraSound(GUS)而写的,该程序被证 明很优秀,于是作者就开始为一般的声卡写驱动程序。Alsa和OSS/Free 及OSS/Linux兼容,但是有自己的接口,甚至比OSS优秀。 - amd
运行automount精灵程序,该精灵在必要时自动安装一些本地设备和NFS文件系统。 - apmd
apmd用来监视系统用电状态,并将相关信息通过syslogd 写入日志。也可以用来在电源不足时关机。 - arpwatch
该程序主要用来维护以太网物理地址和IP地址的对应关系。 - atalk
AppleTalk精灵程序。注意不要在后台运行该程序,该程序的数据结构必须在运行其他进程前先花一定时间初始化。 - atd
运行用户用At命令调度的任务。也在系统负荷比较低时运行批处理任务。 - autofs
当您需要时自动转载文件系统,而当您不需要时自动卸载。 - bootparamd
该服务允许老的Sun工作站从Linux网络启动,它和rarp现在很少使用,基本上被bootp和dhcp取代了。 - crond
cron是Unix下的一个传统程序,该程序周期地运行用户调度的任务。比起传统的Unix版本,Vixie版本添加了不少属性,而且更安全,配置更简单。 - dhcpd
该精灵提供了对动态主机控制协议(Dynamic Host Control Protocol)的访问支持。 - gated
gated通过一个数据库提供了网络路由功能支持。它支持各种路由协议,包括RIP版本1和2、DCN HELLO协议、OSPF版本2以及EGP版本2到4。 - gpm
gpm为文本模式下的Linux程序如mc(Midnight Commander)提供了鼠标的支持。它也支持控制台下鼠标的拷贝,粘贴操作以及弹出式菜单。 - httpd
http是著名的www服务器,可用来提供HTML文件以及CGI动态内容服务。 - inetd
因特网操作服务程序。监控网络对各种它管理的服务的需求,并在必要的时候启动相应的服务程序。通常,inetd管理的程序有telnet、ftp、rsh和rlogin。关闭inetd也就关闭了这些由它管理的服务。 - innd
inn是最流行的用户组新闻服务器。它允许您建立起本地新闻服务器。配置有一定的难度,可以先阅读/usr/doc/ inn*文档获得帮助。 - keytable 该程序的功能是转载您在/etc/sysconfig/keyboards里说 明的键盘映射表,该表可以通过kbdconfig工具进行选 择。您应该使该程序处于激活状态。
- ldap
LDAP代表Lightweight Directory Access Protocol,实现了目录访问协议的行业标准。 - linuxconf
linuxconf是Linux下的一个有效的系统配置工具,该服务允许远程运行。 - lpd
lpd是系统打印守护程序,负责将lpr等程序提交给打印作业。 - mcserv
Midnight Commander服务进程允许远程机器上的用户通过Midnight Commander文件管理器操作本机文件。服务进程用PAM来验证用户,需要给出“用户名/口令”以通过验证。 - mysql
一个快速高效可靠的轻型SQL数据库引擎。 - named
域名服务器,将Internet主机名解析为点分的IP地址。 - netfs
负责装载/卸载NFS、Samba、NCP(Netware)文件系统。
network 激活/关闭启动时的各个网络接口。- nfs
NFS是一个流行的基于TCP/IP网络的文件共享协议。该服务提供了NFS文件共享服务,具体的配置在/etc/ exports文件里。 - nscd
该服务负责密码和组的查询,并且缓冲查询结果。如果您的系统有比较慢的服务(如NIS和NIS+),则应该启动该服务。 - pcmcia
pcmcia主要用于支持笔记本电脑。 - portmap
portmap用来支持RPC连接,RPC被用于NFS以及NIS等服务。 - postgresql
PostgreSQL关系数据库引擎。 - proftpd
proftpd是Unix下的一个配置灵活的ftp守护程序。 - radvd
路由广播程序。 - random
保存和恢复系统的高质量随机数生成器,这些随机数是系统一些随机行为提供的。 - routed
该守护程序支持RIP协议的自动IP路由表维护。RIP主要使用在小型网络上,大一点的网络就需要复杂一点的协议。 - rstatd
Rstat协议允许网络上的用户获得同一网络上各机器的性能参数。 - rusersd
该服务使网络用户可以定位同一网络上的其他用户。 - rwalld
Rwall协议允许远程用户向在同一系统中活跃着的终端发送消息,类似wall的本地行为。 - rwhod
允许远程用户获得运行rwho精灵的机器上所有已登录用户的列表,与finger类似。 - sendmail
大名鼎鼎的邮件服务器。 - smb
启动和关闭smbd和nmbd精灵程序以提供SMB网络服务。 - snmpd
简单网络管理协议(SNMP)的守护精灵。 - syslog
syslog是操作系统提供的一种机制,守护程序通常使用这种机制将各种信息写到各个系统日志文件。通常应该启动该服务。 - xfs
X的字体服务器。 - ypbind
NIS/YP的客户端守护程序。如果您需要使用NIS/YP机器,请启动这项服务,否则,关闭这项服务。 - yppasswd
让NIS用户能够修改密码。运行在NIS域的服务器上。客户端程序同样也叫yppasswd。 - ypserv
标准NIS/YP网络协议的一个实现。允许主机名,用户名和其他信息分布于网络各端。运行在NIS服务器上,客户端不需要。
2005 年 11 月 02 日
CVS v.s. SVN ?
这几天碰了一点 CVS 和 SVN。收集了几处资料。
有人说:“版本控制是开发人员基本素养之一”。哈哈,我真诚接受批评指教。
CVS使用手册
2005 年 10 月 11 日
RSA/DSA authentication on SSH
一直想把自己的服务器的 SSH 认证的模式从用户名密码模式转换成 RSA 和 DSA 认证协议,借着OpenSSH 4.2的发布,今天写了一下配置过程并收集了一些关于 RSA 和 DSA 的参考文章。
思路整理:
一直没有理解公匙模式下的认证过程,这里总结一下公匙和秘匙的制作和安置方法。以下假设一台服务器Server和一台PC作为例子。
首先,并不是在服务器上生成公匙和秘匙。因为很多关于RSA 和 DSA 认证协议的文章都使用Linux服务器作为道具,自然也就使用诸如 ssh-keygen -t rsa 之类的命令,而使得我总是误认为要先在Linux服务器上先生成公匙和秘匙。而真正的安置方法是:
当从PC连接Server的时候,需要在PC上保存一对公匙和秘匙(这对公匙和秘匙可以用诸如PenguiNet之类的工具生成),而只要把生成的公匙传到Server上即可。而往往在Server上,公匙是被放在 ~/.ssh/authorized_keys 这个文件中。这个文件的设置可以在 /etc/ssh/sshd_config 中找到。
AuthorizedKeysFile .ssh/authorized_keys那么当从一个Linux Client Server连接到另外一个Linux Server的时候,我们应该在 Linux Client Server 上生成一对秘匙(RSA时默认为 id_rsa 和 id_rsa.pub),保存在 ~/.ssh/ 中, 这个设置可以在 /etc/sshd/ssh_config 中设置:
# IdentityFile ~/.ssh/identity这样我们也可以更好地理解 ssh_config 和 sshd_config 的区别了。
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
(以下测试在最新的OpenSSH 4.2 下通过,在 OpenSSH_3.9p1 下测试失败!)
[root@domain ~]$su - tenten查看生成的文件:
[tenten@domain ~]ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tenten/.ssh/id_rsa):[Enter]
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/tenten/.ssh/id_rsa.
Your public key has been saved in /home/tenten/.ssh/id_rsa.pub.
The key fingerprint is:
c7:93:83:c4:24:30:56:90:37:a0:eb:a7:5d:4c:8d:ea:1a: tenten@example.com:::或者:::
[tenten@kdx ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/tenten/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/tenten/.ssh/id_dsa.
Your public key has been saved in /home/tenten/.ssh/id_dsa.pub.
The key fingerprint is:
a2:be:16:2e:66:e4:69:68:a0:eb:a7:5d:4c:8d:ea:1a:da:54:35:55:32:8e:e2 tenten@example.com
[tenten@kdx ~]$ ls /home/tenten/.ssh/ -la设置 sshd_config 文件,去除密码认证
total 28
drwx------ 2 tenten tenten 4096 Oct 11 16:09 .
drwx------ 3 tenten tenten 4096 Oct 9 16:50 ..
-rw------- 1 tenten tenten 736 Oct 11 16:09 id_dsa
-rw-r--r-- 1 tenten tenten 612 Oct 11 16:09 id_dsa.pub
-rw------- 1 tenten tenten 951 Oct 11 16:03 id_rsa
-rw-r--r-- 1 tenten tenten 232 Oct 11 16:03 id_rsa.pub
-rw-r--r-- 1 tenten tenten 667 Oct 9 16:48 known_hosts
# To disable tunneled clear text passwords, change to no here!由于在 sshd_config 文件里面,我们设置了以下内容:
PasswordAuthentication no
#AuthorizedKeysFile .ssh/authorized_keys所以我们要把共匙重命名为 autherized_keys
[root@domain .ssh]# mv id_dsa.pub autherized_keys所以最终服务器端 ~/.ssh/ 目录下的内容为(注意authorized_keys的权限为 644)
[tenten@domain .ssh]$ ls -la
total 12
drwx------ 2 tenten tenten 4096 Oct 11 19:57 .
drwx------ 3 tenten tenten 4096 Oct 11 18:50 ..
-rw-r--r-- 1 tenten tenten 232 Oct 11 19:46 authorized_keys
详细阅读: "RSA/DSA authentication on SSH"
2005 年 09 月 27 日
[ZT] 动态 iptables 防火墙
出处:已经无法查明
防火墙是一个非常重要的网络安全工具,但是如果在需要对防火墙规则进行快速、复杂的动态修改时你该如何实现呢?如果你使用本文介绍的Daniel Robbins 的动态防火墙脚本,这将是一件非常容易的工作。你可以利用这些脚本来增强你网络的安全性和对网络攻击的实时响应性,并基于该脚本进行自己的创造性设计。
理解动态防火墙的脚本能够带来的益处的最好方法就是看它们在实际中的应用。假设我是 我最近架设了一个基于Linux的防火墙来保护我的客户和内部系统,防止外部恶意用户的攻击。为了实现该系统我使用了新版Linux2.4内核的iptables工具来实现,防火墙允许客户和内部服务器向Internet建立连接,也允许从Internet向内部系统的公共服务如web服务器、ftp服务器等建立新的连接。由于这里我使用了默认拒绝任何服务,只开放允许的服务的策略,因此从Internet到非公共服务如squid的代理服务、samba服务的连接是被拒绝的。目前我已经有了一个功能完备的、满足安全需求的防火墙系统,其能对ISP的所有用户提供很好的保护。
刚刚开始的一个星期防火墙工作情况良好,但是随后一些糟糕的事情发生了。Bob-一个攻击者对我的网络进行了攻击,它采用了使用垃圾数据报淹没我的ISP网络的方法来对我的客户进行Dos攻击。不幸的是Bob已经对我的防火墙进行了仔细的研究,知道虽然我对内部服务进行了保护但是25端口和80端口都是开放的以收发Emai和开放www服务。Bob决定对我的Email和WWW服务器进行Dos的攻击。
Bob开始攻击的1-2分钟以后我发现我的线路出现严重的拥塞情况。通过tcpdump察看我发现这是Bob进行的一次攻击。并且我得到了它的攻击源地址。现在我就需要阻止这些IP地址对我的公共服务器的连接。下面我就讨论一种简单方便的解决方案。
2005 年 09 月 26 日
DBD::mysql 模块的安装和MySQL的Client
如果想把 MT 和 MySQL 联合起来的话,必须安装 perl 的 DBD:mysql 模块(The DBD::mysql module is the "MySQL client" in this case)。
一直以为安装了binaries版本的Linux tar包(例如 Linux(x86, glibc-2.2, static (Standard only), gcc) Standard 4.1.14 29.5M )就可以了。其实这只是一个 MySQL Server ,而往往很多 linux 系统上面没有安装 MySQL 的 Client。所以下载了 source 版本的 MySQL, 使用参数 configure --without-server 来进行编译,即可安装相应的 client 版本。与此同时,也要确认MySQL的 library 和 header是否有安装(Linux x86 RPM downloads 中的Libraries and header files)。
当然你也可以使用 mysql-client,mysql-devel,perl-DBI 等相应的 rpm 包来解决问题。(perl-DBI, perl-DBD-Pg, postgresql-libs)
安装 perl 的模块时,可以使用以下方法:
perl -MCPAN -e shell这里注意一下perl的路径。如果你有两个perl:/usr/bin/perl /usr/local/bin/perl,那么选择 perl的路径将会决定你升级的是 rpm 的 perl 还是 tar 的 perl。我的做法是禁用了 rpm 的 perl , 直接将 ln -s /usr/local/bin/perl /usr/bin/perl 连接即可。
install DBD::mysql
参考文档:INSTALL - DBD::mysqlのインストールと構成設定の方法
必要条件MySQL
実際のMySQLデータベース・サーバーをインストールする必要はありません。クライアント・ファイルと開発ファイルで十分です。例えば Red Hat LinuxディストリビューションではRPMファイル mysql-clientとmysql-develがついてきます。 MySQLサーバーが他のマシンにあれば、これらで十分です。 MySQLソース・ディストリビューションからコンパイルし、以下のコマンドを使うことによりクライアント・ファイルを作成することもできます。configure --without-server
Windowsを使っていて、ソースからコンパイルする必要があるならば(これはActivePerlを使っていない場合に限ります)、ヘッダとライブラリ・ファイルがインストールされていることを確認してください。これはMySQLセットアップ・プログラムを実行するときに、"Custom installation"を選び、適切なオプションを選ぶことが必要になるかもしれません。
以下介绍一下 DBD::mysql 的 troubleshooting.
详细阅读: "DBD::mysql 模块的安装和MySQL的Client"
2005 年 09 月 25 日
反向域名解析 Reverse DNS
最近遇到了发送邮件给 aol.com 被退回的问题,查询了退回代码:
@4000000043363f280324b9c4 delivery 10460: deferral: 64.12.137.152_failed_after_I_sent_the_message./Remote_host_said:_421-:__(DNS:NR)__http://postmaster.info.aol.com/errors/4登陆到 http://postmaster.info.aol.com/errors/421dnsnr.html后发现是反向域名解析的问题,于是查询了一下相关资料。
21dnsnr.html/421_SERVICE_NOT_AVAILABLE/
2005 年 09 月 24 日
[ZT] VSFTP+MySQL虚拟用户配置过程讲解
文章来源:
参考资料:
VSFTPD是一种在UNIX/Linux中非常安全且快速的FTP服务器,目前已经被许多大型站点所采用。VSFTPD支持将用户名和口令保存在数据库文件或数据库服务器中。VSFTPD称这种形式的用户为虚拟用户。相对于FTP的本地(系统)用户来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性。相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说,虚拟用户是一种极好的解决方案。本文介绍在RedHat Linux 9上如何将VSFTPD的虚拟用户名和密码保存在MySQL数据库服务器中。
目前,VSFTPD的最新版本是2.0.3版。官方下载地址为ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.3.tar.gz。在安装前,需要先做以下准备工作:
VSFTPD默认配置中需要“nobody”用户。在系统中添加此用户,如果用户已经存在,useradd命令有相应提示。
[root@hpe45 root]# useradd nobody
useradd: user nobody exists
VSFTPD默认配置中需要“/usr/share/empty”目录。在系统中此目录,如果目录已经存在,mkdir命令有相应提示。
[root@hpe45 root]# mkdir /usr/share/empty/
mkdir: cannot create directory '/usr/share/empty': File exists
VSFTPD提供匿名FTP服务时,需要“ftp”用户和一个有效的匿名目录。
[root@hpe45 root]# mkdir /var/ftp/
[root@hpe45 root]# useradd -d /var/ftp ftp
接下来的操作对于ftp用户是否已经存在都是有用的。
[root@hpe45 root]# chown root.root /var/ftp
[root@hpe45 root]# chmod og-w /var/ftp
以上准备工作完成后,我们就可以开始编译源代码了。假定我们下载的vsftpd-1.2.0.tar.gz在/root目录,执行以下命令:
[root@hpe45 root]# tar zxvf vsftpd-2.0.3.tar.gz
[root@hpe45 root]# cd vsftpd-2.0.3
[root@hpe45 vsftpd-2.0.3]# make
[root@hpe45 vsftpd-2.0.3]# make install
上面的“make install”命令将编译好的二进制文件、手册等复制到相应目录。在RHL9上,可能需要手动执行以下复制:
[root@hpe45 vsftpd-2.0.3]# cp vsftpd /usr/local/sbin/vsftpd
[root@hpe45 vsftpd-2.0.3]# cp vsftpd.conf.5 /usr/local/share/man/man5
[root@hpe45 vsftpd-2.0.3]# cp vsftpd.8 /usr/local/share/man/man8
接下来,我们复制一个简单的配置文件作为基础供后面修改。
[root@hpe45 vsftpd-2.0.3]# cp vsftpd.conf /etc
[root@hpe45 vsftpd-2.0.3]# cp RedHat/vsftpd.pam /etc/pam.d/ftp
复制PAM验证文件,以允许本地用户登录VSFTPD。
[root@hpe45 vsftpd-2.0.3]# cp RedHat/vsftpd.pam /etc/pam.d/ftp
详细阅读: "[ZT] VSFTP+MySQL虚拟用户配置过程讲解 "
2005 年 08 月 26 日
RPM 操作 -- Tutorials, Tips & Tricks by and for Mandrake Linux users
RPM 操作 -- Tutorials, Tips & Tricks by and for Mandrake Linux users
http://people.linux.net.cn/xgwu/cmuo/basics/index.html
RPM有许多可选参数,幸好很容易从名称中联想到相应的用途。
大多数参数都有两种名称(flavor):长名和短名。长名是两个连字符(hyphen),后跟参数的全名;短名只有一个连字符,后带一个字符(一般是全名的首字母)。当然,应用时您只需一种格式就够了,比如:rpm --install package或rpm -i package。
如果RPM参数是文件名,您可以用 匹配模式 ,来指定多个文件,例如:
rpm -i bla*
该命令将安装所有当前目录下以字符串‘bla’开头的包。模糊格式对要求归档名作参数的操作无效,例如:
rpm -e *gtk*
error: package *gtk* is not installed
有一点请记住,RPM 并不介意将要安装的包是在本地文件系统,还是在远程 web 或 FTP 服务器上。只要给出完整的 URL,就能对安装包进行远程操作,比如:
rpm -qpi ftp://ftp.server.com/RPMS/bla*
将获取在 ftp.server.com 的目录‘RPMS’中,以‘bla’开头的包的内容描述。
所有的这些命令需要‘root’权限。
rpm -i package :安装(install)一个包,
rpm -e archive :卸载(erase),
rpm -U package :升级(upgrades)到新版本(包括安装新的包),
rpm -F packages :更新(freshen)若干个包。先检查指定的包中哪些已安装,然后以合理的顺序更新这些包。
有两个特殊的修正(modifier)可以和上述参数连用:‘--test’ 、‘--verbose’(或‘-v’)。
‘--test’ 只是以模拟(as if)的方式执行命令:您可以获得 RPM 执行时产生的所有信息,但是实际上命令没有真正执行,这个修正没有缩写形式。
‘--verbose’(-v) 会输出 RPM 运行时的冗余(verbose)信息。这一参数在检查错误或与‘--test’连用时特别有用。添加另一个‘-v’(‘-vv’)能输出更多的冗余信息。
详细阅读: "RPM 操作 -- Tutorials, Tips & Tricks by and for Mandrake Linux users "
RPM命令手册
RPM命令手册
--------------------------------------------------------------------------------
作者:wind521 2002-05-20 06:02:01 来自:http://www.chinaunix.net
命令格式:
rpm -i ( or --install) options file1.rpm ... fileN.rpm
参数:
file1.rpm ... fileN.rpm 将要安装的RPM包的文件名
详细选项:
-h (or --hash) 安装时输出hash记号 (``#'')
--test 只对安装进行测试,并不实际安装。
--percent 以百分比的形式输出安装的进度。
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--noscripts 不运行预安装和后安装脚本
--prefix <path> 将软件包安装到由 <path> 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy <host> 用 <host> 作为 FTP代理
--ftpport <port> 指定FTP的端口号为 <port>
通用选项
-v 显示附加信息
-vv 显示调试信息
--root <path> 让RPM将<path>指定的路径做为"根目录",这样预安装程序和后安
装程序都会安装到这个目录下
--rcfile <rcfile> 设置rpmrc文件为 <rcfile>
--dbpath <path> 设置RPM 资料库存所在的路径为 <path>
2005 年 08 月 10 日
[ZT] VSFTPD的高手篇
VSFTPD的高手篇
作者:龙磊
http://www.5ilinux.com/vsftp02.html
节选精华部分:
Anonymous_enable=yes (允许匿名登陆)
Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)
Local_umask=022 (FTP上本地的文件权限,默认是077)
Connect_form_port_20=yes (启用FTP数据端口的数据连接)*
Xferlog_enable=yes (激活上传和下传的日志)
Xferlog_std_format=yes (使用标准的日志格式)
Ftpd_banner=XXXXX (欢迎信息)
Pam_service_name=vsftpd (验证方式)*
Listen=yes (独立的VSFTPD服务器)*
Anon_upload_enable=yes (开放上传权限)
Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)
Write_enable=yes (开放本地用户写的权限)
Anon_other_write_enable=yes (匿名帐号可以有删除的权限)
Anon_world_readable_only=no (放开匿名用户浏览权限)
Ascii_upload_enable=yes (启用上传的ASCII传输方式)
Ascii_download_enable=yes (启用下载的ASCII传输方式)
Banner_file=/var/vsftpd_banner_file (用户连接后欢迎信息使用的是此文件中的相关信息)
Idle_session_timeout=600(秒) (用户会话空闲后10分钟)
Data_connection_timeout=120(秒) (将数据连接空闲2分钟断)
Accept_timeout=60(秒) (将客户端空闲1分钟后断)
Connect_timeout=60(秒) (中断1分钟后又重新连接)
Local_max_rate=50000(bite) (本地用户传输率50K)
Anon_max_rate=30000(bite) (匿名用户传输率30K)
Pasv_min_port=50000 (将客户端的数据连接端口改在
Pasv_max_port=60000 50000—60000之间)
Max_clients=200 (FTP的最大连接数)
Max_per_ip=4 (每IP的最大连接数)
Listen_port=5555 (从5555端口进行数据连接)
Local_enble=yes (本地帐户能够登陆)
Write_enable=no (本地帐户登陆后无权删除和修改文件)
这是一组
Chroot_local_user=yes (本地所有帐户都只能在自家目录)
Chroot_list_enable=yes (文件中的名单可以调用)
Chroot_list_file=/任意指定的路径/vsftpd.chroot_list
(前提是chroot_local_user=no)
这又是一组
Userlist_enable=yes (在指定的文件中的用户不可以访问)
Userlist_deny=yes
Userlist_file=/指定的路径/vsftpd.user_list
又开始单的了
Banner_fail=/路径/文件名 (连接失败时显示文件中的内容)
Ls_recurse_enable=no
Async_abor_enable=yes
One_process_model=yes
Listen_address=10.2.2.2 (将虚拟服务绑定到某端口)
Guest_enable=yes (虚拟用户可以登陆)
Guest_username=所设的用户名 (将虚拟用户映射为本地用户)
User_config_dir=/任意指定的路径/为用户策略自己所建的文件夹
(指定不同虚拟用户配置文件的路径)
又是一组
Chown_uploads=yes (改变上传文件的所有者为root)
Chown_username=root
又是一组
Deny_email_enable=yes (是否允许禁止匿名用户使用某些邮件地址)
Banned_email_file=//任意指定的路径/xx/
又是单的
Pasv_enable=yes ( 服务器端用被动模式)
User_config_dir=/任意指定的路径//任意文件目录 (指定虚拟用户存放配置文件的路径)
2005 年 07 月 08 日
一些短小而有用的Linux命令
平时用来查询log或者文件的一些有用的命令。
- 查询qmail邮件log,找到 @poczta.fm 发信人,将TAI64N timestamps 转换成为human-readable 格式。
tail -n 100000 /var/log/qmail/smtpd/current | grep poczta.fm | tai64nlocal
- 打印 qmHandle 的删除命令,去掉所有以 abc@foo.com 为发信人的邮件
qmailctl queue | grep abc@foo.com | awk '{print $6}' |awk '{print "qmHandle -d"gensub(/#/,"" ,$1) }'
输出结果:qmHandle -d64994
qmHandle -d811207
qmHandle -d1038516
qmHandle -d64995
qmHandle -d811231
qmHandle -d64996
qmHandle -d64973
qmHandle -d811209
qmHandle -d32521
qmHandle -d1038518
qmHandle -d64974
qmHandle -d64997 - sed -e 清理 log 文件中重复出现的无用记录。
这里去掉 /templates/subSilver/images 的全部记录
sed -e "/templates\/subSilver\/images/d" /usr/local/apache2/logs/bbs.hzmjp.com-access_log > /usr/local/apache2/logs/bbs.hzmjp.com-access_log2
2005 年 06 月 09 日
Boot Linux: 关于启动 Linux 的各种配置纪录
以下设置都是基于 Red Hat Linux 9.0 或 Redhat Enterprise Linux 等版本。
如果你创建了单独的 /boot 分区,到内核与 initrd 映像的路径是相对于 /boot 分区而言的。 ————《Red Hat Linux 9: Red Hat Linux 定制指南 30. 升级内核》
1) 有 /boot 分区时的 /etc/grub.conf 文件
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/hda3
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Enterprise Linux ES (2.4.9-e.12)
root (hd0,0)
kernel /vmlinuz-2.4.9-e.12 ro root=/dev/hda3
initrd /initrd-2.4.9-e.12.img
2) 没有 /boot 分区时的 /etc/grub.conf 文件
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,0)
# kernel /boot/vmlinuz-version ro root=/dev/sda1
# initrd /boot/initrd-version.img
#boot=/dev/sda
default=0
timeout=10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title The Linux Kernel (2.6.10)
root (hd0,0)
kernel /boot/bzImage-2.6.10 ro root=LABEL=/
initrd /boot/initrd-2.6.10.img
详细阅读: "Boot Linux: 关于启动 Linux 的各种配置纪录"
2005 年 06 月 07 日
OpenSSL 升级中的一些问题
Problem building Apache with OpenSSL
# rpm -qa | grep openssl这使得重新编译 apache 时出现以下错误:
openssl-0.9.6b-35.7
openssl-devel-0.9.6b-35.7
error while loading shared libraries: libssl.so.0.9.7: cannot open shared object file: No such file or directory openssl
2005 年 05 月 16 日
SSH 和 Apache 1.3 的一些积累
最近在用 Miracle Linux, 所以碰到了一些老版本的问题,在这里把 ssh 和 apache 1.3.33 的问题汇总一下,做个备份。
- ssh 远程登陆不能用 root 登陆的解决方法。
Miracle Linux 是 Red Hat 的一个 customized 版本,专门为 ORACLE 度身定做的。rpm 包安装好后会安上 ssh,但是远程用户不能用 root 直接登陆,也不能通过 su - 登陆。查了一下,修改 configure 文件即可:
修改文件: /etc/ssh/sshd_config
修改选项: PermitRootLogin = yes
重启ssh:service sshd restart - Apache 1.3.33 目录最后的不添加反斜杠问题。
问题说明:
例如目录 http://www.kreny.com/doc/
在 address bar 里面输入了 http://www.kreny.com/doc 后,不会自动转为 http://www.kreny.com/doc/
我的解决方法:
在 apache 2.0 中有一个关于这个在目录后自动添加反斜杠的模块,只要编译了这个模块即可顺利解决这个问题。在 apache 1.3 中我试着用 rewreite rules 来解决这个问题。当然这是个苯方法,必须把需要转意的目录一个一个写到 httpd.conf 文件里面。在此仅仅作为对 rewrite rules 的一个练习吧!Rewrite Rules
RewriteEngine on
RewriteRule ^/kd$ /kd/ [R]
详细阅读: "SSH 和 Apache 1.3 的一些积累"
POP3协议命令原始码及工作原理
- 作者:Jephe Wu
- 出处:中国Linux论坛
- 原创地址:POP3协议命令原始码及工作原理---Jephe Wu
原文章发布于 2000.5.22 by Jephe Wu
SMTP协议原始命令码和工作原理
- 作者:Jephe Wu
- 出处:中国Linux论坛
- 原创地址:SMTP协议原始命令码和工作原理---Jephe Wu
原文章发布于 2000.5.25 by Jephe Wu
2004 年 12 月 30 日
兴建自己的 CooCooWakka
从车东的blog上阅读到了关于 CooCooWakka 的文章,曾经也在 Wikipedia 上阅读到一篇 《选择一个好的Wiki引擎的标准》,但是安装 WikkiTikkiTavi 却失败了。所以今天试用了一下这个 CooCooWakka ,感觉还是比较顺手的。
2004 年 12 月 20 日
Backup your Linux System | 备份你的 Linux 系统
Backup your Linux System | 备份你的 Linux 系统
Author | 作者 : Kreny
Abstract: Backup your data in Linux system by using shell commands, OpenSSH, etc.
摘要: 本文结合个人粗浅的 Linux 经验, 阐述如何使用 shell 命令以及 OpenSSH 等工具备份 Linux 系统和数据。
一、我们需要备份什么?
我的 Linux 系统是基于 Redhat 的Redhat Linux 9.0,同时配置了诸如 MySQL、PHP、Apache 等基础服务,同时又配有 Awstats、MRTG、MT 等应用服务程序,因此,我们需要备份的除了系统本身的重要文件以外,还需要备份数据库、log文件和统计数据文件等。当然另外一项必不可少的就是编译各项服务时的 ./configure 参数,这里就不赘述了。
详细阅读: "Backup your Linux System | 备份你的 Linux 系统 "
2004 年 12 月 18 日
如何在你的 MT 中为你的每个 Category 添加 RSS Feed
MT 会自动为你建立整个网站的 RSS Feed,但是如果需要为每个 Category 添加一个 RSS 应该怎样操作呢?我们可以改写任何代码轻松完成这个任务。
1. 点击 MT 的 Templates 菜单,选择 RSS (可根据需要自行选择版本) 的 Index Templates。 进入编辑模式后,copy 所有内容 (template body)。
2. 回到 Templates 菜单, 选择 Create new archive template (如果你用的是中文,即“汇整相关模板”处, 在原有的 "Category Archive, Date-Based Archive, Individual Entry Archive" 处增加)。 进入增加模式后,给新的模板取一个名字,例如“Category RSS”,然后粘贴刚才的代码。最后按“保存(Save)”按钮。
3. 点击 MT 的 Weblog Config 菜单(中文的“核心设定”)。选择 “Archive Files”,在“Create A New Template/Archive Type Association”处,“Archive Type”选择 “Category(类别)”,在 Template 处选择刚才的“Category RSS”,然后按 “加入(Add)” 按钮。
4. 这时,在下面的 Category(类别)处,在原有的“Category Archive”下会多出一个 “Category RSS”, 在右边的文字栏中(即 Archive File Template / 汇整档案模板) 加入以下 code 来指定输出 RSS 的文件名:
<MTArchiveCategory dirify="1">.xml最后按保存按钮。
5. Rebuild 你的 weblog, 此时会在你的 archive 文档下面建立你每个 category 的 xml 文档。
6. 你可以使用以下代码来输出你的 Category RSS 的地址:
<MTCategories>
<a href="<MTBlogArchiveURL><MTCategoryLabel dirify="1">.xml"><MTCategoryLabel></a><br>
</MTCategories>
如果要在没一个 category 版面输出的话,我使用的是以下的投机取巧的方法,如果有跟便捷的方法的话,欢迎回复。
<MTEntries last="1">
<div class="link-note">
RSS for this category
<a href="<MTBlogArchiveURL><MTEntryCategory dirify="1">.xml"><img src="http://linux.dalouis.com/images/rss200.png" alt="RSS2 Feed" width="80" height="15" border="0" hspace="10" /></a>
</div>
</MTEntries>
参考文档:
参考页面:
2004 年 12 月 16 日
Apache 2.0.x ? 还是 Apache 1.x ?
调试了很长时间 apache 2.0 的 thread 问题,但是 <defunct> 的问题已然没有解决。昨天在只有 100 多个链接的时候就不停地出现了 httpd <defunct> , 这真的使我怀疑 apache 2.0 的 threading 了。
下面引用了 php 的说明。大家可以看看 PHP: Apache 2.0 on Unix 最顶上的 Warning, PHP 并不建议使用 apache 2.0 和 PHP 的结合。也许是时候换成 apache 1.x 试试看的时候了吧~~
Why shouldn't I use Apache 2 in a production environment?
详细阅读: "Apache 2.0.x ? 还是 Apache 1.x ?"
2004 年 12 月 08 日
What is FQDN?
FQDN
A Word Definition From the Webopedia Computer Dictionary
A fully qualified domain name consists of a host and domain name, including top-level domain. For example, www.webopedia.com is a fully qualified domain name. www is the host, webopedia is the second-level domain, and.com is the top level domain.
A FQDN always starts with a host name and continues all the way up to the top-level domain name, so www.parc.xerox.com is also a FQDN.
For more about FQDN: Google's definition of FQDN
2004 年 12 月 05 日
cronolog 一个用来回转log文件的冬冬
cronolog -- 一个用来回转log文件的冬冬
参考资料:
http://weblog.chedong.com/archives/000005.html
http://chinaunix.net/jh/13/9225.html
http://httpd.apache.org/docs-2.0/logs.html#piped
http://httpd.apache.org/docs-2.0/programs/rotatelogs.html
2004 年 11 月 25 日
VSFTPD+MySQL虚拟用户配置
VSFTPD+MySQL虚拟用户配置
日期:2004-08-09 作者:施文建
出处:http://www.21ds.net/article/_32/2004-08/09/356_1.html
VSFTPD是一种在UNIX/Linux中非常安全且快速的FTP服务器,目前已经被许多大型站点所采用。VSFTPD支持将用户名和口令保存在数据库文件或数据库服务器中。VSFTPD称这种形式的用户为虚拟用户。相对于FTP的本地(系统)用户来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性。相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说,虚拟用户是一种极好的解决方案。本文介绍在RedHat Linux 9上如何将VSFTPD的虚拟用户名和密码保存在MySQL数据库服务器中。
2004 年 11 月 23 日
SYN攻击的基本原理、工具及检测方法以及防范技术
作者:宋振锋 发布时间:2004-02-03
---------------------------------------------------------------------
http://www.ntnet110.gov.cn/netsecs/viewNecs.jsp?necsid=76
据统计,在所有黑客攻击事件中,SYN攻击是最常见又最容易被利用的一种攻击手法。相信很多人还记得2000年YAHOO网站遭受的攻击事例,当时黑客利用的就是简单而有效的SYN攻击,有些网络蠕虫病毒配合SYN攻击造成更大的破坏。本文介绍SYN攻击的基本原理、工具及检测方法,并全面探讨SYN攻击防范技术。
一、TCP握手协议
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
详细阅读: "SYN攻击的基本原理、工具及检测方法以及防范技术"
使用httperf和Autobench对服务器性能进行测试
httperf---A Tool for Measuring Web Server Performance
Autobench is a simple Perl script for automating the process of benchmarking a web server (or for conducting a comparative test of two different web servers). The script is a wrapper around httperf.
详细阅读: "使用httperf和Autobench对服务器性能进行测试"
2004 年 11 月 20 日
用AWStats对VSFTP日志进行统计
作者:eagerlinuxer
引用自:http://bbs.chinaunix.net/forum/viewtopic.php?t=388056
参考文档:
http://awstats.sourceforge.net/docs/awstats_faq.html#FTP
我自己的补充。如果你的 vsftpd 使用的是 virtual username 的话,要把
红色部分去掉。
引用:
LogFormat="%time3 %other %host %bytesd %url %other %other %method %other %logname %other %code %other %other"
同时要重新编译 vsftpd 包里面的 loggin.c 文件
找到代码:
if (p_sess->is_anonymous)
{
str_append_text(p_str, "a ");
str_append_str(p_str, &p_sess->anon_pass_str);
}
else
{
str_append_text(p_str, "r ");
str_append_str(p_str, &p_sess->user_str);
}
/* str_append_char(p_str, ' '); # --Edit by Kreny
/* Service name, authentication method, authentication user id */
str_append_text(p_str, "ftp 0 * ");
/* Completion status */
if (succeeded)
{
str_append_char(p_str, 'c');
}
else
{
str_append_char(p_str, 'i');
}
}
代码:
以下就是编译前和编译后的log的区别。
--> "a" 和 "ftp" 之间有两个空格
代码:
--> "a" 和 "ftp" 之间只有一个空格
代码:
2004 年 11 月 19 日
[ZT]Apache 2.0性能优化—MPM的选择与配置
Apache 2.0性能优化—MPM的选择与配置
作者: fei (CU和linuxforum 上都有他的文章)
这是我以前写的一篇文章,不足之处一定有,主要内容来自官方文档。
谈到Apache,大多数系统管理员对其稳定版1.3印象颇深。虽然Apache 2.0的系列开发版早已由Alpha、Beta发展到现在的GA(General Availability)版,但是一些人潜意识里还认为开发版并非可用于生产环境的稳定版本。尤其是1.3版的API与2.0版不兼容,使得大量模块必须要重写才能在2.0版上使用。Apache 1.3和2.0之间的内部变化的确较大,用Apache创始人Brian Behlendorf自己的话来说:“这个版本包括了数百个新的特性,所以这个产品应该具有3.1或8i这样的产品编号,而不是2.0。”Apache 2.0中加入了很多的核心改进和新功能,如Unix线程、多协议支持、新的构建系统、对非Unix平台的更佳支持、IPv6支持、新的Apache API、过滤器、多语言错误响应、原生的Windows NT Unicode支持、更简单化的配置,以及升级的正则表达式库等。它当然还包括对许多模块的重要改进,同时也加入了一些新的模块。
为了使Apache更加平滑地从1.3版升级到2.0版,Apache开发团队做了很多工作。目前很多重要的模块已经可以很好地支持2.0版,如PHP、FastCGI、Mod_perl、Mod_python等。在httpd.conf的指令配置语法上,目前的2.0版(2.0.45)与1.3版的兼容性已做得相当好。比如,以前的2.0版如果要使用PHP,一般用过滤器实现;现在的PHP官方文档中已经使用1.3版中的LoadModule语句做为加载PHP的推荐方式。只要略微了解一下Apache 2.0的新特性,从1.3版升级到2.0版将是一件非常容易的事情。使用Apache 2.0是大势所趋,因为Apache的开发团队已经把开发重心转移到2.0版上。1.3版自2002年10月发布了1.3.27后一直没有新版本推出,而2.0版在与1.3.27同时发布2.0.43后,在今年1月发布了2.0.44,并于今年3月末发布了2.0.45,并包含了很多改进和修正。
详细阅读: "[ZT]Apache 2.0性能优化—MPM的选择与配置"
2004 年 11 月 18 日
Running a High-Performance Web Server
最近老是连不上主机,经常重起但是又找不到原因。昨天又出现了这个问题的时候在突然恢复正常的时候审查了一下主机,发现是mysqld会出现内存溢出的问题。由于我跑的是论坛,在论坛上会有下载服务,所以自然也想到apache的配置问题。
虽然流量的增大的确是一件好事,但是配置一个高负载的服务器还是没有经验,草草地收集了一下资料。
Apache Performance Tuning
Running a High-Performance Web Server on HPUX
FreeBSD連載(84):配置Apache伺服器(1)
Multi-Processing Modules (MPMs)
Apache MPM prefork
Apache MPM worker
几个得注意的参数:
TimeOut 300
KeepAlive On
KeepAliveTimeout 3
MaxKeepAliveRequests 100
StartServers 3
MinSpareServers 2
MaxSpareServers 4
MaxClients 250
MaxRequestsPerChild 0
# Not neccessary if we don't have so much connection
#ServerLimit 1000
MaxRequestsPerChild 1000
(这里我发现我设置为了0,就是没有限制。但是参看了doc,发现还是设置一个比较稳定。)
详细阅读: "Running a High-Performance Web Server "
2004 年 11 月 16 日
给新浪发信的解决办法以及相关信息
给新浪发信的解决办法
请看 CU 中的原帖 >>
sina需要解析heloname的A记录,如果这个A没有指到邮件服务器上,就肯定会被拒收.
qmail
echo "我的邮件服务器的真实域名(A记录)" > /var/qmail/control/helohost
postfix
postconf -e "smtp_helo_name = 我的邮件服务器的域名(A记录)"
sendmail
vi /etc/sendmail.cf
Cw我的邮件服务器的域名(A记录)
而对于架设在防火墙後(区域网络上)的邮件服务器。
postfix:
在smtp_helo_name = 防火墙服务器名称
qmail:
/var/qmail/control/helohost
防火墙服务器名称
2004 年 11 月 12 日
计算机网络词汇表
A
access control(访问控制)
控制允许谁可以访问计算机的内容和应用程序。
ACL
访问控制列表。识别哪个主机有访问哪个服务的权限的列表。
Active Group(Active 组织)
由开放组织赞助的标准组织,该组织是负责 ActiveX 技术和许可的不断开发和管理的开放、面向用户的的组织。详细信息,请参阅 http://www.activex.org。
Active Server(活动服务器)
随 Windows NT 交付的服务器方技术的集合。这些技术为组件应用程序管理、数据库访问、事务和消息提供一致的服务器方组件、脚本模型和一套集成的系统服务。
Active Server Pages (ASP)(活动服务器网页 (ASP))
在服务器上运行 ActiveX 脚本和 ActiveX 组件的服务器方脚本环境。开发人员可以将脚本和组件结合在一起创建基于 Web 的应用程序。
2004 年 11 月 03 日
Tcp建立连接信息表示
Tcp建立连接信息表示

2004 年 10 月 28 日
使用 tcp.smtp 阻挡病毒垃圾邮件
最近病毒垃圾邮件又多起来了,使用iptables 和 hosts.deny 都不能够阻挡。(这方面我还没学好)以下先记录一下修改内容。
iptables 添加:
service iptables save
ALL: 218.82.99.142 210.158.71.68 220.163.11.68
220.163.11.68:deny
这里有一个很不错的/etc/tcp.smtp 样本 http://drwho.virtadpt.net/tcp.smtp
查看全文浏览我的 /etc/tcp.smtp
2004 年 10 月 25 日
META TAG ANALYZER
META TAG ANALYZER
http://www.submitexpress.com/analyzer/
一个非常好的分析网页 meta tag 以及模拟 Robots 对网页进行分析的工具。
请查看全文继续阅读此分析工具对我的 http://bbs.hzmjp.com/ 的分析结果。
2004 年 09 月 08 日
关于 SYN_RECV 的杂七杂八的东西
网页在翻页到一个特定的页面的时候,和服务器80端口的连接被中止。
查看了netstat -anlp 发现有类似以下的记录,而IP就是我的。
tcp 0 2560 61.152.251.68:80 60.26.156.241:1523 SYN_RECV -由于可能是程序的问题,因为仅仅在浏览这张网页的时候会出现这个问题,但是还是在netstat里面偶尔会看到几个 SYN_RECV ,所以就google了一下,在此总结一下。
1.对于大量的 SYN_RECV
若怀疑是SYN Flood攻击,有以下建议:
这个攻击的解决方法如下:
1,增加未完成连接队列(q0)的最大长度。
echo 1280>/proc/sys/net/ipv4/tcp_max_syn_backlog
2, 启动SYN_cookie。
echo 1>/proc/sys/net/ipv4/tcp_syncookies
这些是被动的方法,治标不治本。而且加大了服务器的负担,但是可以避免被拒绝攻击(只是减缓)
治本的方法是在防火墙上做手脚。但是现在能在一定程度上防住syn flood攻击的防火墙都不便宜。并且把这个命令加入"/etc/rc.d/rc.local"文件中
如果对 /proc/sys/net/ipv4 下的配置文件进行解释,可以参阅 LinuxAid技术站的文章。查看本文全文也可以参阅。
关于 syn cookies, 请参阅 <
也许 使用mod_limitipconn.c来限制apache的并发数 也会有一定的帮助。
最终,仅仅修改了这个参数,但是也加上了iptables的防火墙规则,问题解决。
2.什麼是 TCP SYN Flood 攻擊?
發表日期: 星期二, 15 六月 2004 @ 01:36:47 台北標準時間
TCP SYN Flood是一種常見,而且有效的遠端(遠程)拒絕服務(Denial of Service)攻擊方式,它透過一定的操作破壞TCP三次握手建立正常連接,佔用並耗費系統資源,使得提供TCP服務的主機系統無法正常工作。 由於TCP SYN Flood是透過網路底層對服務器Server進行攻擊的,它可以在任意改變自己的網路IP地址的同時,不被網路上的其他設備所識別,這樣就給防範網路犯罪部門追查犯罪來源造成很大的困難。 在國內內外的網站中,這種攻擊屢見不鮮。在一個拍賣網站上,曾經有犯罪分子利用這種手段,在低價位時阻止其他用戶繼續對商品拍賣,干擾拍賣過程的正常運作。
系統檢查
一般情況下,可以一些簡單步驟進行檢查,來判斷系統是否正在遭受TCP SYN Flood攻擊。
1、 服務端無法提供正常的TCP服務。連接請求被拒絕或超時。
2、透過 netstat -an 命令檢查系統,發現有大量的SYN_RECV連接狀態。
3. iptables的设置,引用自CU
防止同步包洪水(Sync Flood)
# iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
也有人写作
#iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
--limit 1/s 限制syn并发数每秒1次,可以根据自己的需要修改
防止各种端口扫描
# iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
Ping洪水攻击(Ping of Death)
# iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
附:
Iptables 指南 1.1.19
防火墙例子:
在Linux上使用iptables命令,建立一个个人防火墙
2004 年 08 月 20 日
定制 apache 的 access_log
对 CU 上的 apache的access_log问题 的进一步讨论:
比如像论坛一样的网站,很多图片都是论坛的按钮之类的,如果你不想记录图片信息,可以这样定制 log 文件:
<FilesMatch "\.(png|gif|jpg)">
SetEnv IMAGES 1
</FilesMatch>
ErrorLog logs/bbs.hzmjp.com-error_log
CustomLog logs/bbs.hzmjp.com-access_log combined env=!IMAGES
当然还可以用 SetEnvIf Request_URI 之类的语法定制,之后log里面就不会记录诸如 /templates/subSilver/images/spacer.gif 这样的附带图片记录了。
可以查看 有条件地记录日志
详细阅读: "定制 apache 的 access_log "
2004 年 08 月 19 日
clamav 对于winrar 3.0 文件不支持的问题
今天在发送一个带有 rar 文件包附件的邮件时,出现以下错误信息:
出现未知错误。 服务器响应: '451 qq temporary problem (#4.3.0)', 端口: 25, 安全(SSL): 否, 服务器错误: 451, 错误号: 0x800CCC6A
查看qmail的smtp log文件
@4000000041243775169793b4 Accept::ORIG::Valid_Auth: 'login' ?= 'kreny'
@4000000041243780154482ec X-Qmail-Scanner-1.22:[dalouis.com109289252348012760] clamdscan: corrupt or unknown clamd scanner error or memory/resource/perms problem - exit status 2
升级了clamav 到 0.75 版本也无济于事。
最终在测试clamdscan的时候发现了问题:
# /usr/local/bin/clamdscan
./clamav-0.75/test/test: ClamAV-Test-Signature FOUND
./clamav-0.75/test/test.rar: ClamAV-Test-Signature FOUND
./clamav-0.75/test/test.zip: ClamAV-Test-Signature FOUND
./clamav-0.75/test/test-zip-noext: ClamAV-Test-Signature FOUND
./clamav-0.75/test/test-failure.rar: RAR module failure. ERROR
./clamav-0.75/contrib/clamdwatch/clamdwatch.tar.gz: Eicar-Test-Signature FOUND
于是在clamav主页中查看关于 Archives and compressed files 的文档,发现它对 winrar 3.0 格式的 rar 文件不支持。
经过测试,将邮件的附件改为winzip形式即可发送。关于如何支持winrar的方法,至今仍然没有解决。
请看 http://www.mail-archive.com/clamav-devel@lists.sourceforge.net/msg00890.html
详细阅读: "clamav 对于winrar 3.0 文件不支持的问题"
配色和网络无障碍开发(CSS etc.)
从车东的blog上截来的东东。
一个简单的配色网站 slayeroffice.com
但是一直都很喜欢这个 slayeroffice | tools | color palette creator v1.4
不过她们的主站有更丰富的网络开发资源
無障礙網頁開發:規範及技術手冊
看到这篇规范收获很多:其中关于radio button的可用性是这样描述的:
和第一个表单必须点击radio本身才能做选项切换,第2个表单只需要点击文字部分就能做相应的选项切换。虽然只是一点点改进,但是让用户鼠标可以比较容易的进行模糊的操作。
源代码如下:主要是通过label和相应的id做了关联
<form>
<FIELDSET>
<LEGEND>不好的设计:</LEGEND>
<INPUT name="sex" type="radio"
checked>男性<INPUT type="radio" name="sex">女性 <<--
点击“女性”左边的radio才能做选项切换</FIELDSET>
</form>和<form>
<FIELDSET>
<LEGEND>好的设计:</LEGEND>
<INPUT name="sex" type="radio" id="male"
checked><LABEL for="male">男性</LABEL><INPUT
type="radio" name="sex" id="female"><LABEL for="female">女性</LABEL>
<<-- 点击“女性”这个文本就能够做选项切换</FIELDSET>
</form>
2004 年 08 月 18 日
Errordocument 设置后不能实行设定值的问题
在apache的httpd.conf里面设定了我们自己定制的error document或者forbbiden document的显示页面,但是往往在设置以后没有什么效果。今天读了apache的文档后才发现自己绕了一个远路,原来是文档大小太小(小于512字节),自动被IE忽略了。
这几天一直不能安心下来看看书,的确把自己的生活秩序都搞乱了,浮躁的心情还是要避免的,不然一切都会变得很糟糕。
Microsoft Internet Explorer (MSIE) will by default ignore server-generated error messages when they are "too small" and substitute its own "friendly" error messages. The size threshold varies depending on the type of error, but in general, if you make your error document greater than 512 bytes, then MSIE will show the server-generated error rather than masking it. More information is available in Microsoft Knowledge Base article Q294807.
2004 年 08 月 16 日
非常cool的表格style
看看下面的效果
| Hello, world! |
![]() |
图片来源 B.T.P. Club
看看整体效果--我的故乡杭州
2004 年 08 月 10 日
对内部局域网封锁端口:联众边锋QQ
引自 http://blog.pingjiang.com/tb.asp?id=88
常用游戏端口
中国游戏中心 TCP 8000
联众世界 TCP 2000
网易泡泡 UDP 4001
边锋网络游戏世界 TCP 4000
中国围棋网 TCP 9696
笨苹果游戏互动网 UDP 5000
上海热线游戏频道 TCP 8000
凯思帝国游戏在线 TCP 2050
网上赢家 TCP 8001
证券之星 Tcp 8888
联众游戏的端口号是什么?
2004 年 08 月 08 日
Alexa排名代码
2004 年 07 月 29 日
[ZT] openssl怎样创建个人证书
来自:Linux知识宝库
#openssl req -new > eric.csr
#openssl x509 -req -in eric.csr -out eric.crt -signkey ca.key -CA ca.cert -CAkey ca.key -CAcreateserial -days 365
怎么我创建的crt不是个人证书,怎样才能创建个人证书.
ftp://www.linuxdoc.org/pub/linux/docs/HOWTO/SSL-Certificates-HOWTO
SSL Certificates HOWTO
Franck Martin
Revision History
Revision v0.3 2002-05-09 Revised by: FM
Adding x509v3 extension information - Correcting spelling
Revision v0.2 2001-12-06 Revised by: FM
Adding openssl.cnf file - Adding CRL info from Averroes- Correcting spelling
Revision v0.1 2001-11-18 Revised by: FM
Creation of the HOWTO
A first hand approach on how to manage a certificate authority (CA), and
issue or sign certificates to be used for secure web, secure e-mail, or
signing code and other usages.
[ZT] 电子商务中的安全交易手段
在近年来发表的多个安全电子交易协议或标准中, 均采纳了一些常用的安全电子交易的方法和手段。典型的方法和手段有以下几种:
1.密码技术
采用密码技术对信息加密,是最常用的安全交易手段。 在电子商务中获得广泛应用的加密技术有以下两种:
(1)公共密钥和私用密钥(public key and private key)
这一加密方法亦称为 RSA 编码法,是由 Rivest、Shamir 和 Adlernan 三人所研究发明的。它利用两个很大的质数相乘所产生的乘积来加密。这两个质数无论哪一个先与原文件编码相乘,对文件加密,均可由另一个质数再相乘来解密。但要用一个质数来求出另一个质数, 则是十分困难的。因此将这一对质数称为密钥对(Key Pair)。 在加密应用时,某个用户总是将一个密钥公开,让需发信的人员将信息用其公共密钥加密后发给该用户, 而一旦信息加密后,只有用该用户一个人知道的私用密钥才能解密。 具有数字凭证身份的人员的公共密钥可在网上查到,亦可在请对方发信息时主动将公共密钥传给对方,这样保证在Internet 上传输信息的保密和安全。
(2)数字摘要(digital digest)
这一加密方法亦称安全 Hash 编码法(SHA:Secure Hash Algorithm)或 MD5(MD Standards for Message Digest),由 Ron Rivest 所设计。该编码法采用单向Hash函数将需加密的明文转换成一串 128bit 的密文,这一串密文亦称为数字指纹(Finger Print), 它有固定的长度,且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。 这样这摘要便可成为验证明文是否是原文的证据了。
上述两种方法可结合起来使用,数字签名就是上述两法结合使用的实例。
2004 年 07 月 18 日
几个不错的 PHP 论坛 (BBS)
http://www.discuz.net/
现在的版本是 Discuz! 3.1.2,应该算是我们自己研发的bbs系统吧~
http://www.cnphpbb.com/
翻译国外的 phpbb 系统,更新速度比较慢
2004 年 07 月 15 日
"Image Theft" 盗链的一些文章
Environment Variables in Apache:Examples
http://httpd.apache.org/docs-2.0/env.html#examples
ApacheToday tutorial " Keeping Your Images from Adorning Other Sites".
Preventing Image 'Theft'
http://apache-server.com/tutorials/ATimage-theft.html
如何去掉 doublebounce (双重反弹)邮件
文档:Tossing out doublebounce messages
doublebounceto question Barley (22 Sep 2003)
Barley
> I am interested in simply tossing out doublebounce messages. To that end, I
> created a control/doublebounceto file with the following:
You can't do that; one of qmail's strengths is that it knows the difference between a "mail recipient address" and a "command". You need to put an address in that file. You can then have that address/alias handled by a .qmail-something file containing a command. But you want to put "#" in that file instead of what you had.
> Is it not possible to put commands in the doublebounceto file?
No. That file has to contain the local-part of an email address, not a command or other instruction. Commands only go in .qmail files.
$ echo ”#” > /var/qmail/alias/.qmail-doublebounce
###$ /var/qmail/alias/ is the same to ~alias/
$ qmailctl restart
2004 年 07 月 14 日
apache的返回代码
最近对apache设置的改动是的log文件里面有很多没有见到过的返回代码,例如 200 206 等。所以在网上找了一下代码的意思。 请看全文
出处:由彩信MM7协议引起的对HTTP和SOAP协议的研究
2004 年 07 月 13 日
[ZT] find 等命令的活用
引用自 :竹笋炒肉
1、让tail不停地读地最新的内容
tail -n 10 -f /etc/httpd/logs/access.log
2、查看文件中间的第五行(含)到第10行(含)的内容
sed -n '5,10p' /etc/httpd/logs/access.log
3、使系统对ping没反应
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
4、使tcp syn cookie保护生效
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
2004 年 07 月 06 日
[ZT] 网络监听攻击技术
在网络中,当信息进行传播的时候,可以利用工具,将网络接口设置在监听的模式,便可将网络中正在传播的信息截获或者捕获到,从而进行攻击。网络监听在网络中的任何一个位置模式下都可实施进行。而黑客一般都是利用网络监听来截取用户口令。比如当有人占领了一台主机之后,那么他要再想将战果扩大到这个主机所在的整个局域网话,监听往往是他们选择的捷径。很多时候我在各类安全论坛上看到一些初学的爱好者,在他们认为如果占领了某主机之后那么想进入它的内部网应该是很简单的。其实非也,进入了某主机再想转入它的内部网络里的其它机器也都不是一件容易的事情。因为你除了要拿到他们的口令之外还有就是他们共享的绝对路径,当然了,这个路径的尽头必须是有写的权限了。在这个时候,运行已经被控制的主机上的监听程序就会有大收效。不过却是一件费神的事情,而且还需要当事者有足够的耐心和应变能力。
补充一些常识:[ZT] 网络常见攻击与防范完全手册
出处:http://www.yesky.com/SoftChannel/72355578868924416/20011213/209621.shtml
一、前言
在网络这个不断更新换代的世界里,网络中的安全漏洞无处不在。即便旧的安全漏洞补上了,新的安全漏洞又将不断涌现。网络攻击正是利用这些存在的漏洞和安全缺陷对系统和资源进行攻击。
也许有人会对网络安全抱着无所谓的态度,认为最多不过是被攻击者盗用账号,造不成多大的危害。他们往往会认为“安全”只是针对那些大中型企事业单位和网站而言。其实,单从技术上说,黑客入侵的动机是成为目标主机的主人。只要他们获得了一台网络主机的超级用户权限后他们就有可能在该主机上修改资源配置、安置“特洛伊”程序、隐藏行踪、执行任意进程等等。我们谁又愿意别人在我们的机器上肆无忌惮地拥有这些特权呢?更何况这些攻击者的动机也不都是那么单纯。因此,我们每一个人都有可能面临着安全威胁,都有必要对网络安全有所了解,并能够处理一些安全方面的问题。
下面我们就来看一下那些攻击者是如何找到你计算机中的安全漏洞的,并了解一下他们的攻击手法。
详细阅读: "补充一些常识:[ZT] 网络常见攻击与防范完全手册"
2004 年 07 月 04 日
Hack MT的默认类别选择
MT没有对新增文章的类别作默认设置,所以如果一不注意就会造成文章石沉大海。于是今天把MT稍稍做了修改。以下为修改内容。
修改 \lib\MT\App\CMS.pm 第929行, 把
category_label => $app->translate('Select') };
my $top->{category_is_selected} = 1 unless $cat_id;
unshift @data, $top;
全部comment掉即可。
现在默认的类别就是在 category_id 中最大的一个id了。
2004 年 07 月 02 日
收集:ZT:Iptables工具,php tools
http://easyfwgen.morizot.net/
作者Timothy Scott Morizot参考了Oskar Andreasson的Iptables教程,很容易生成适合自己的防火墙脚本.
Advanced PHP Resources
http://www.sitepoint.com/forums/showthread.php?t=78687
phpBB 编码标准规范 [ZT]
http://bbs.chinaunix.net/forum/27/040622/352967.html
详细阅读: "收集:ZT:Iptables工具,php tools"
2004 年 06 月 25 日
MT 的 Plugins 和 Hacks
装好了MT以后就想把它customize一下,找了很多地方,下面几个是收集到的。
MT-plugins
http://mt-plugins.org/
一些Hack的文章
增加文字编辑区的功能按钮
【Hack-MT】增加文字编辑区的功能按钮
还在继续收集中....
2004 年 06 月 12 日
安装 spamcontrol 时要注意的一点问题
我的 spamcontrol 安装完成后,发现邮件不经过 clamv 和 spamassassin 的检查。
总结了以下,还是在安装之前没有好好看conf-spamcontrol 文件,吸取教训!
我的配置:
qmail1.03 + smtp auth + spamassassin + clamv + vpopmail ....
详细阅读: "安装 spamcontrol 时要注意的一点问题"
2004 年 06 月 11 日
[ZT] 公安部4 号达标之不完全手册
公安部4 号达标之不完全手册
公安部4 号令达标之不完全手册
Author 何智强(He zhiqiang)hzqbbc
Change Log
2004-6-10 从“基于SMTP 会话信息的Anti-Spam策略原理及应用技术分析与实现”一文中将本文分离出来
Copyright 1998-2004 hzqbbc.com
2002-2004 jagmail.cn
2004-2004 PBIP 实验室
注意 更详细的内容参见:“基于SMTP 会话信息的Anti-Spam策略原理及应用技术分析与实现”
公安部4 号达标之不完全手册 hzqbbc
为什么?
国家四部委即将在全国范围开展垃圾电子邮件专项治理工作的行动(简称6·30 行动),而离行动的验收日期(6/30)已时间不多,不少电子邮件服务器的系统管理员为达到该行动对清理垃圾邮件所提出的要求(见公安部4 号令有关的详细内容)大伤脑筋。
为了帮助广大的同行达到4 号令中提及的部分甚至全部功能,笔者本着“最大限度地使用免费技术+尽可能少的投入”之宗旨,编写了本文。
声明
请所有阅读此文的读者先仔细阅读本声明,否则造成的损失作者一概不负责任。
·本文的内容和公布的源代码以GPL v2 版权释出
·作者不对使用了本文所提及的方法/服务/代码提供任何的商业保证,如出现任何纠纷或损失,作者一概不承担任何责任
·请在使用时保留程序与文章的版权声明
·欢迎对作者所提及的任何内容批评与建议,欢迎一起讨论
2004 年 06 月 07 日
[ZT]中央发文整冶垃圾邮件!
上周收到公安局给的中央关于整冶垃圾邮件的红头文件!在6月底所有服务器要具有很强的反垃圾功能才让使用.我来要实现的功能给大家说一下(原文):
二、垃圾电子邮件清理功能技术要求:
(一)具备对发送垃圾电子邮件的特定网络地址、电子邮箱进行屏蔽的功能;
(二)具备限制来自相同客户端网络地址的并发连接数量超过最大限制值的功能;
(三)具备限制来自相同客户端网络地址的并发连接数量超过最大限制值的功能;
(四)具备限制本地电子邮件用户一次性发送同一个电子邮件发送数量的功能;
(五)具备判别电子邮件虚假路由,对伪造虚假路由的电子邮件限制发送的功能;
(六)具备关闭电子邮件服务器匿名转发或采取用户身份认证、电子邮件转发授权控制措施的功能;
(七)具备对大量群发、连发同特征的已知垃圾电子邮件进行拦截的功能,其中特征电子邮件长度、信头字段、信体符合特定条件。
我们公安还有就是这边还要实现:黑名单、白名单、邮件主题过滤等功能。
2004 年 05 月 23 日
Shell 编程系列
一些狂好的文章
http://www.student.northpark.edu/pemente/sed/sed1line.txt
Bell 实验室 Murray Hill, New Jersey 07974
http://www-900.ibm.com/developerWorks/cn/linux/shell/index.shtml
ChinaUnix.net Shell 精华集锦
http://bbs.chinaunix.net/forum/24/20030829/150311.html
sort 命令演示
http://bbs.chinaunix.net/forum/viewtopic.php?t=31391&start=0&postdays=0&postorder=asc&highlight=sort
[ZT] Sort 命令集
源出处:http://bbs.chinaunix.net/forum/24/20040331/293045.html#1942159
by bjgirl
sort命令
[ZT]awk: Split a string into an array
From:http://www.starlink.rl.ac.uk/star/docs/sc4.htx/node38.html
The awk function split(s,a,sep) splits a string s into an awk array a using the delimiter sep.
set hr = `echo $time | awk '{split($0,a,":" ); print a[1]}'` # = 12
set sec = `echo $time | awk '{split($0,a,":" ); print a[3]}'` # = 56
# = 12 34 56
set hms = `echo $time | awk '{split($0,a,":" ); print a[1], a[2], a[3]}'`
set hms = `echo $time | awk '{split($0,a,":" ); for (i=1; i<=3; i++) print a[i]}'`
The last two statements are equivalent, but the latter is more convenient for longer arrays as you specify the start index and number of elements to print. Variable hms is also an array so hms[2] is 34.
C-shell Cookbook
Starlink Document sc4
Malcolm J. Currie
1998 January 9
E-mail:ussc@star.rl.ac.uk
2004 年 05 月 20 日
Linux一句话精彩问答
Linux一句话精彩问答
http://bbs.chinaunix.net/forum/4/20021128/16141.html
此帖源于 2002-11-28 15:11,到现在每天都在更新,对于linux的flashman 来说很好用噢~
2004 年 05 月 19 日
Linux命令中正则表达式的运用
linux的命令行可以胜任所有的工作,这和ms的产品有着很大的区别,到现在为止仍然有很多的爱好者对敲键盘乐此不疲,而在繁重的管理工作和键盘工作中,正则表达式对于简化工作起到了很大的作用。
Perl regular expressions man page.
http://www.perldoc.com/perl5.8.0/pod/perlre.html
Linux开发中最最常用的命令
[请点击查看全文]
基本操作命令:
----------------------------------------------------------------------
----------------------------------------------------------------------
ls #以默认方式显示当前目录文件列表
ls –a #显示所有文件包括隐藏文件
ls –l #显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行
ls --color=never *.so > obj #不显示文字颜色,将所有so文件记录到obj文件中
----------------------------------------------------------------------
cd dir #切换到当前目录下的dir目录
cd / #切换到根目录
cd .. #切换到到上一级目录
cd ../.. #切换到上二级目录
cd ~ #切换到用户目录,比如是root用户,则切换到/root下
----------------------------------------------------------------------
rm file #删除某一个文件
rm -fr dir #删除当前目录下叫dir的整个目录
----------------------------------------------------------------------
cp source target #将文件source 复制为 target
cp /root/source . #将/root下的文件source复制到当前目录
cp –av soure_dir target_dir #将整个目录复制,两目录完全一样
cp –fr source_dir target_dir #将整个目录复制,并且是以非链接方式复制,当source目录带有符号链接时,两个目录不相同
----------------------------------------------------------------------
mv source target #将文件source更名为target
2004 年 04 月 28 日
找到了 mod_rewrite 指南
中文版的Rewrite指南
http://w.yi.org/ftp/FAPM/apache/Apache2/zh/misc/rewriteguide.html
我自己这里好像也有
http://linux.dalouis.com/doc/apache2.0/misc/rewriteguide.html
2004 年 04 月 24 日
QMAIL控制文件详解 (作者:Boban)
转载自 http://www.21php.com/tutorial/tutorial.php?tid=46
详细阅读: "QMAIL控制文件详解 (作者:Boban)"
2003 年 08 月 23 日
[ZT]ping的高级用法
ping的高级用法
对于Windows下ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。
现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧,ping只有在安装了TCP/IP协议以后才可以使用:
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] │ [-k computer-list] [-w timeout] destination-list
Options:
-t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C.
不停的ping地方主机,直到你按下Control-C。
此功能没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。
