2010年11月5日星期五

对比新闻:我爸是李刚!

对比新闻:我爸是李刚!: "

在互联网上,特别是中文互联网上,经常可以看到在年轻一代甚至整个网民中广为流传的一些网络用语和词句。从10月下旬以来,中文网最流行、且红透了网络半边天的一句话是:“我爸是李刚!”。

说这话的小伙子叫李启铭,他是在10月16日晚上9点多酗酒驾车撞倒两位女大学生陈晓风张晶晶(陈晓风20岁,后来死亡,张晶晶19岁重伤)后说这番话的。据目击者反映,他的原话是:“看把我车刮的...我爸是李刚。”

*李刚是保定公安分局副局长*

李启铭22岁,河北传媒学院毕业,目前在保定某单位工作。他爸爸李刚,是保定公安局北市区分局副局长。

这个酗酒驾车撞死人命案就发生在河北保定市。事发现场是位于保定北市区七一东路的河北大学商学院学生生活区。而受害人陈晓风和张晶晶,就是河北大学商学院2010级光信息科学和技术班学生。

*河北大学飙车案事故过程*

根据中国知名记者王克勤的博客和发表在中国经济时报的长篇“河北大学校园飙车案调查”报告(10/25),当时(10月16日晚上9:40左右)李启铭驾车高速撞倒了正在马路上练习滑轮的陈晓风和张晶晶,撞人后没有停车,反而加速离开现场。

后来,李启铭开车回来,再次经过现场而加速开走。最后因校园大门关闭被追赶的学生抓获。在众人(当时有100多目击者)的质问下,李启铭说出了那句名言:“我爸是李刚。”而河北大学正在保定北市区公安分局的辖区。

李启铭在10月17日被刑事拘留,26日正式被捕。


*李刚父子上了央视节目*

半个多月来,有关这个案子的报道(平面电子媒体)可谓铺天盖地。中央电视台CCTV甚至派人进了拘留所,10月22日采访了羁押中的李启铭和他爸爸李刚,父子俩上了央视《法制在线》节目,向社会表示忏悔和道歉。

有不少网友质疑:为何节目只采访肇事者一方而不采访受害人一方?不仅如此,据中国经济时报的飙车案调查,该报记者也在22日给李刚打电话,不仅遭到拒绝,而且接电话者严词追问记者如何得到其电话号码并扬言:“等我查到你是谁,我要告你!”

*案情发展不利受害方*

按照这个调查报告,受害人家属本来在10月22日晚上6点半,收到了《遗体处理通知书》,要求在11月1日前将遗体进行处理。但是,到了11月初,案情又有了新的进展。

按照受害人一方的律师张凯11月3日对美国之音的介绍说,肇事方现在又提出要求解剖尸体,遭到受害方的拒绝。张凯认为,肇事方现在提出这样的要求,是想破坏尸体,使有关方面无法再进行肇事者当时的车速鉴定。

据报道,河北有关司法当局,把保定市北市区发生的这个案子,异地移交给位于保定市西南方42公里的望都县处理。按照望都县公安局11月1日发出的《鉴定结论通知书》,肇事者当时车速是45--59公里/小时,而受害人家属认为,这个结论是不对的,当时李启铭的车速,远远高于这个速度。张凯认为,目前案情的“发展”非常不利于受害人一方。陈晓风家属说,非要进行尸体检查,希望不要在保定公安主持下进行,能由同保定公安局没有关系的第三方机构来进行。

*何清涟:该案折射“衙内”现象*

中国媒体工作者、观察人士何清涟在其博客中说:李刚的官其实不算大,保定市公安局北市区分局主管刑侦的副局长可能只是个副处级,但其子的骄横却折射了中国这个身份型社会特有的一道文化密码:“衙内”现象。从古到今,中国就是个讲究家世传承的身份型社会,自唐代开始才有科举制为底层社会开了一条极为狭窄的向上流动通道,绝大多数民众只能是“农之子恒为农,工之子恒为工,商之子恒为商”,子承父业地生活下去。

*中共执政几十年也曾处死“衙内”*

中共在数十年的执政当中,也杀了一些“衙内”。比如,80年代中期,青海省办公厅主任儿子杨小民杀人多年后仍逍遥法外。胡耀邦批示“杀人者偿命“,杨小民终遭枪决。上海市高干子弟胡晓阳(上海市委第二书记,人大常委员主任胡立教之子)、陈小蒙、陈冰郎(二陈系上海市委常委、宣传部长陈其五之子)等人的流氓团伙案,胡耀邦批示“罪大恶极,不杀不足以平民愤”。据此批示,胡晓阳、陈小蒙和葛志文在1986年3月被枪毙处死。

中共建军元老朱德,他的一个孙子朱国华 ,在1983年“严打”期间,因生活“腐化淫乱”在天津被枪毙。

在中国,李启铭撞死陈晓风案,被称作“河北大学校园飙车案”。这个案子,引起了很多海外媒体的关注。

*美联社:CCTV只采访肇事一方*

《华盛顿邮报》11月1日采用美联社报道说,陈晓风的父亲陈广谦是个老实巴交的河北农民。他说:“咱只是个农民,就算不公平,咱又能咋地呢?”美联社的报道援引律师张凯的话说:“按照中国法律,只有警方、检方还有法律工作者和律师,才能进入拘留所见到被拘押的当事人。不知为何CCTV的记者也能进去采访李启铭。”

与此同时,不知为何CCTV不采访受害人一方,张凯质疑说。美联社援引陈广谦的话说:“CCTV只照顾有权有势的,不管咱受害人的死活。如果他们能采访李刚父子,他们也应采访我们受害人。”

*律师:目击者不敢出来作证*

美联社说,在中国,公安权势很大,让很多老百姓生畏。陈晓风的律师张凯呼吁半天,至今为止,当时在场的“数十个”“目击者”,没有几个敢出面同张凯合作,为受害人作证。

*学者刘海波:官民鸿沟深*

《澳大利亚人报》10月27日发表报道说,“我爸是李刚”案,引起了中国4亿网民的关注。报道说,中国传统媒体和电子媒体,都受到当局严密监控,人们只能通过互联网论坛、聊天室和微博来传递信息,表达不满。报道援引中国社科院法学所研究员刘海波的话说,“飙车案和其他许多案子都反映出,老百姓对当官的失去了信任,他们和当官之间的鸿沟,从来没有像今天这么深。”

*法新社:“李刚门”同孙伟铭案类似*

法新社10月26日的一篇报道说,“我爸是李刚”案,同去年的孙伟铭案有几分相似。30岁的孙伟铭是四川成都某公司销售经理,2008年12月4日,他酒后无驾照驾驶别克轿车,在成都闹市区连撞5车,导致4人死亡,一人重伤。当时,孙伟铭开车速度是134-138公里/小时。2009年7月22日,成都中级人民法院一审判处孙伟铭死刑。法新社说,孙伟铭的家人,很快对受害人家属进行经济赔偿1百万元,得到这几家人的原谅。四川高法2009年9月8日终审,判处孙伟铭死缓。

*亚洲时报:衙内横行,会葬送革命成果*

亚洲时报在线(英文)11月3日发表中国版总编的文章题面是:有人可能比别人更公平(Some may be more equal than others)。文章说,当年毛泽东就说过,一些红军将领是读完水浒后开始闹革命的。直到今天,水浒中许多话和词句仍在民间广泛流传。“衙内”就是其中一个。

文章说,衙内现象又在中国层出不穷。最新的例子就是这个“我爸是李刚”案。文章说,保定离北京没多远(140公里),并不是天高皇帝远的偏远地区,为何一个芝麻小官的儿子都敢如此气焰嚣张无法无天呢?

文章说,案发后,网民“人肉搜索”,发现李刚和李启铭一共拥有5处房地产。其中,有三个公寓单元,一处豪华地产,还有一家商店。两处在李刚名下,3处在李启铭名下。媒体开始把这个案子称为“李刚门”(Li Gang Gate)。

亚洲在线英文文章说,随着案情的深入,有许多网民继续问道:如果这个案子牵扯到了更高级干部的子弟,媒体和网民,还能这样畅所欲言高谈阔论吗?

亚洲在线的中国版总编文章说,毛泽东说,水浒激励许多农民参加革命,帮共产党推翻了国民党,掌握了政权。但是,如果太子党们不能严于律己,像衙内那样肆无忌惮,那么,共产党怎么打下的江山,还会怎么又拱手相让出去。


对比新闻:我爸是李刚!

对比新闻:我爸是李刚!: "
在互联网上,特别是中文互联网上,经常可以看到在年轻一代甚至整个网民中广为流传的一些网络用语和词句。从10月下旬以来,中文网最流行、且红透了网络半边天的一句话是:“我爸是李刚!”。

说这话的小伙子叫李启铭,他是在10月16日晚上9点多酗酒驾车撞倒两位女大学生陈晓风张晶晶(陈晓风20岁,后来死亡,张晶晶19岁重伤)后说这番话的。据目击者反映,他的原话是:“看把我车刮的...我爸是李刚。”

*李刚是保定公安分局副局长*

李启铭22岁,河北传媒学院毕业,目前在保定某单位工作。他爸爸李刚,是保定公安局北市区分局副局长。

这个酗酒驾车撞死人命案就发生在河北保定市。事发现场是位于保定北市区七一东路的河北大学商学院学生生活区。而受害人陈晓风和张晶晶,就是河北大学商学院2010级光信息科学和技术班学生。

*河北大学飙车案事故过程*

根据中国知名记者王克勤的博客和发表在中国经济时报的长篇“河北大学校园飙车案调查”报告(10/25),当时(10月16日晚上9:40左右)李启铭驾车高速撞倒了正在马路上练习滑轮的陈晓风和张晶晶,撞人后没有停车,反而加速离开现场。

后来,李启铭开车回来,再次经过现场而加速开走。最后因校园大门关闭被追赶的学生抓获。在众人(当时有100多目击者)的质问下,李启铭说出了那句名言:“我爸是李刚。”而河北大学正在保定北市区公安分局的辖区。

李启铭在10月17日被刑事拘留,26日正式被捕。


*李刚父子上了央视节目*

半个多月来,有关这个案子的报道(平面电子媒体)可谓铺天盖地。中央电视台CCTV甚至派人进了拘留所,10月22日采访了羁押中的李启铭和他爸爸李刚,父子俩上了央视《法制在线》节目,向社会表示忏悔和道歉。

有不少网友质疑:为何节目只采访肇事者一方而不采访受害人一方?不仅如此,据中国经济时报的飙车案调查,该报记者也在22日给李刚打电话,不仅遭到拒绝,而且接电话者严词追问记者如何得到其电话号码并扬言:“等我查到你是谁,我要告你!”

*案情发展不利受害方*

按照这个调查报告,受害人家属本来在10月22日晚上6点半,收到了《遗体处理通知书》,要求在11月1日前将遗体进行处理。但是,到了11月初,案情又有了新的进展。

按照受害人一方的律师张凯11月3日对美国之音的介绍说,肇事方现在又提出要求解剖尸体,遭到受害方的拒绝。张凯认为,肇事方现在提出这样的要求,是想破坏尸体,使有关方面无法再进行肇事者当时的车速鉴定。

据报道,河北有关司法当局,把保定市北市区发生的这个案子,异地移交给位于保定市西南方42公里的望都县处理。按照望都县公安局11月1日发出的《鉴定结论通知书》,肇事者当时车速是45--59公里/小时,而受害人家属认为,这个结论是不对的,当时李启铭的车速,远远高于这个速度。张凯认为,目前案情的“发展”非常不利于受害人一方。陈晓风家属说,非要进行尸体检查,希望不要在保定公安主持下进行,能由同保定公安局没有关系的第三方机构来进行。

*何清涟:该案折射“衙内”现象*

中国媒体工作者、观察人士何清涟在其博客中说:李刚的官其实不算大,保定市公安局北市区分局主管刑侦的副局长可能只是个副处级,但其子的骄横却折射了中国这个身份型社会特有的一道文化密码:“衙内”现象。从古到今,中国就是个讲究家世传承的身份型社会,自唐代开始才有科举制为底层社会开了一条极为狭窄的向上流动通道,绝大多数民众只能是“农之子恒为农,工之子恒为工,商之子恒为商”,子承父业地生活下去。

*中共执政几十年也曾处死“衙内”*

中共在数十年的执政当中,也杀了一些“衙内”。比如,80年代中期,青海省办公厅主任儿子杨小民杀人多年后仍逍遥法外。胡耀邦批示“杀人者偿命“,杨小民终遭枪决。上海市高干子弟胡晓阳(上海市委第二书记,人大常委员主任胡立教之子)、陈小蒙、陈冰郎(二陈系上海市委常委、宣传部长陈其五之子)等人的流氓团伙案,胡耀邦批示“罪大恶极,不杀不足以平民愤”。据此批示,胡晓阳、陈小蒙和葛志文在1986年3月被枪毙处死。

中共建军元老朱德,他的一个孙子朱国华 ,在1983年“严打”期间,因生活“腐化淫乱”在天津被枪毙。

在中国,李启铭撞死陈晓风案,被称作“河北大学校园飙车案”。这个案子,引起了很多海外媒体的关注。

*美联社:CCTV只采访肇事一方*

《华盛顿邮报》11月1日采用美联社报道说,陈晓风的父亲陈广谦是个老实巴交的河北农民。他说:“咱只是个农民,就算不公平,咱又能咋地呢?”美联社的报道援引律师张凯的话说:“按照中国法律,只有警方、检方还有法律工作者和律师,才能进入拘留所见到被拘押的当事人。不知为何CCTV的记者也能进去采访李启铭。”

与此同时,不知为何CCTV不采访受害人一方,张凯质疑说。美联社援引陈广谦的话说:“CCTV只照顾有权有势的,不管咱受害人的死活。如果他们能采访李刚父子,他们也应采访我们受害人。”

*律师:目击者不敢出来作证*

美联社说,在中国,公安权势很大,让很多老百姓生畏。陈晓风的律师张凯呼吁半天,至今为止,当时在场的“数十个”“目击者”,没有几个敢出面同张凯合作,为受害人作证。

*学者刘海波:官民鸿沟深*

《澳大利亚人报》10月27日发表报道说,“我爸是李刚”案,引起了中国4亿网民的关注。报道说,中国传统媒体和电子媒体,都受到当局严密监控,人们只能通过互联网论坛、聊天室和微博来传递信息,表达不满。报道援引中国社科院法学所研究员刘海波的话说,“飙车案和其他许多案子都反映出,老百姓对当官的失去了信任,他们和当官之间的鸿沟,从来没有像今天这么深。”

*法新社:“李刚门”同孙伟铭案类似*

法新社10月26日的一篇报道说,“我爸是李刚”案,同去年的孙伟铭案有几分相似。30岁的孙伟铭是四川成都某公司销售经理,2008年12月4日,他酒后无驾照驾驶别克轿车,在成都闹市区连撞5车,导致4人死亡,一人重伤。当时,孙伟铭开车速度是134-138公里/小时。2009年7月22日,成都中级人民法院一审判处孙伟铭死刑。法新社说,孙伟铭的家人,很快对受害人家属进行经济赔偿1百万元,得到这几家人的原谅。四川高法2009年9月8日终审,判处孙伟铭死缓。

*亚洲时报:衙内横行,会葬送革命成果*

亚洲时报在线(英文)11月3日发表中国版总编的文章题面是:有人可能比别人更公平(Some may be more equal than others)。文章说,当年毛泽东就说过,一些红军将领是读完水浒后开始闹革命的。直到今天,水浒中许多话和词句仍在民间广泛流传。“衙内”就是其中一个。

文章说,衙内现象又在中国层出不穷。最新的例子就是这个“我爸是李刚”案。文章说,保定离北京没多远(140公里),并不是天高皇帝远的偏远地区,为何一个芝麻小官的儿子都敢如此气焰嚣张无法无天呢?

文章说,案发后,网民“人肉搜索”,发现李刚和李启铭一共拥有5处房地产。其中,有三个公寓单元,一处豪华地产,还有一家商店。两处在李刚名下,3处在李启铭名下。媒体开始把这个案子称为“李刚门”(Li Gang Gate)。

亚洲在线英文文章说,随着案情的深入,有许多网民继续问道:如果这个案子牵扯到了更高级干部的子弟,媒体和网民,还能这样畅所欲言高谈阔论吗?

亚洲在线的中国版总编文章说,毛泽东说,水浒激励许多农民参加革命,帮共产党推翻了国民党,掌握了政权。但是,如果太子党们不能严于律己,像衙内那样肆无忌惮,那么,共产党怎么打下的江山,还会怎么又拱手相让出去。

2010年11月4日星期四

360 qq

都不个好东西.
两个中国的大公司,竟在用户的电脑上打仗.这两个东东从此在我的电脑上滚蛋(早
就不用了)

becky无法发送gmail邮件

Becky! Internet Mail是一个电子邮件客户端软件,由Rimarts开发。
主要的优点有:体积小、占用资源少、速度快、功能强大。
像Mozilla Thunderbird一样,Becky!提供插件支持,用户可以通过安装插件来扩展程序的功能。Hotmail插件是Becky!上流行的插件之一,该插件使Becky!可以像Outlook一样使用Hotmail帐号收发邮件。
目前我用版本为2.55。
前几天用的好好的.这半个月一直是无法发邮件.郁闷呀.不知道是为什么.Google了
几天,设置没有问题.用OE就可以发.都想放弃这个软件了.
但是今天发现无法PING通 smtp.gmail.com不知道是为什么.无恶的主管用P2P还是
什么的禁止了.
我找一台别的电脑ping了一下smtp.gmail.com,发现可以ping通,地址为72.14.213.109,
我马上把这个smtp.gmail.com换成这个地址.点发送,嘿嘿.马上发到了我的邮箱里.
高兴呀.至于为什么不能ping smtp.gmail.com我也不管了.
哪位朋友如果像本人一样遇到这个问题,可以试试这个方法.

2010年11月2日星期二

Linux软件安装包的命名规则

Linux软件安装对于电脑使用的玩家的常用软件,然后我就学习及深入的研究Linux软件安装,在这里和大家一起探讨Linux软件安装的使用方法,希望对大家有用。Linux软件安装卸载

一 Linux软件安装包的类型

通常Linux应用软件的安装包有三种:
1) tar包,如software-1.2.3-1.tar.gz。他是使用UNIX系统的打包工具tar打包的。
2) rpm包,如software-1.2.3-1.i386.rpm。他是Redhat Linux提供的一种包封装格式(www.rpmfind.net)。
3) dpkg包,如software-1.2.3-1.deb。他是Debain Linux提供的一种包封装格式。
4)    bin包,如RealPlayer11GOLD.bin,它是realplayer的linux文件下的二进制安装格式,它是源程序经过编译后的一种机器语言。
5)脚本安装文件,这一类格式比较多,例如后缀为sh、pl、run的文件都是脚本文件。不过对于普通用户不太常见。安装这类文件要注意的问题是,多数要给文件先增加可执行权限,否则有可能会提示找不到文件。具体方法:终端或控制台下执行 chmod +x ***.*,然后再安装。

二 Linux软件安装包的命名规则

大多数Linux应用软件包的命名也有一定的规律,他遵循: 名称-版本-修正版-类型 。例如:
1)software-1.2.3-1.tar.gz 意味着:软件名称:software |版本号:1.2.3 |修正版本:1 | 类型:tar.gz,说明是个tar包。
2)sfotware-1.2.3-1.i386.rpm 意味着:软件名称:software | 版本号:1.2.3 |修正版本:1 |可用平台:i386,适用于Intel 80x86平台 | 类型:rpm,说明是个rpm包。

三 Linux软件安装

新手:等装完系统可以使用apt-get update (ubuntu)或 yum update (fedora) 安装所需要的大部分软件!

1.*.src.rpm形式的源代码Linux软件安装包:rpm -rebuild *.src.rpmcd /usr/src/dist/RPMSrpm -ivh *.rpm卸载:rpm -e packgename说明:rpm --rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的RPM软件包,然后再安装该二进制包即可。

2.*.tar.gz/*.tgz/*.bz2形式的源代码软件包以tar.gz或tgz或tar.bz2等格式结尾的软件包一般都是以源代码方式发布的软件,Linux软件安装这类软件首先需要对软件进行解压:
# tar zxvf filename.tar.gz
# tar xvfz filename.tgz
# tar xvf j filename.tar.bz2

解压以后,就可以进入解压后的目录:# cd filename/对于这类文档,常见的Linux软件安装步骤是:配置、编译和Linux软件安装3步,其中最麻烦的就是配置,因为所有和Linux软件安装相关的配置都是在这一步指定的:比如Linux软件安装位置等。

配置:./configure编译:make安装:make install卸载:make uninstall 或手动删除说明:建议解压后先阅读说明文件(ReadMe和Install),了解安装的需求,有必要时还需改动编译配置。

有些软件包的源代码在编译Linux软件安装后可以用 make uninstall命令来进行卸载,如果不提供此功能,则软件的卸载必须手动进行。由于软件可能将文件分散地Linux软件安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置。

指定软件将要Linux软件安装到目标路径:./configure --prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其他Linux软件安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。

3 . RPM格式软件包的Linux软件安装

1).Linux软件安装命令格式:rpm-i(or--install) options file1.rpm ... fileN.rpm参数:file1.rpm...fileN.rpm指将要Linux软件安装的RPM包的文件名。
详细选项:

-h(or—hash)Linux软件安装时输出hash记号;test只对Linux软件安装进行测试,并不实际安装;--percent以百分比的形式输出安装的进度;-- excludedocs不安装软件包中的文档;--includedocs安装文档;--replacepkgs强制重新安装已经Linux软件安装的软件包;

-- replacefiles替换属于其他软件包的文件;--force忽略软件包及文档的冲突;--noscripts不运行预Linux软件安装和后安装脚本;-- prefix NEWPATH将软件包安装到由NEWPATH指定的路径下;

--ignorearch不校验软件包的结构;--ignoreos不检查软件包运行的操作系统;--nodeps不检查依赖性关系;--ftpproxy HOST用HOST作为FTP代理;--ftpport PORT指定FTP的端口号为PORT。

通用选项:-v显示附加信息;-vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预Linux软件安装程序和后安装程序都会安装到这个目录下;--rcfile FILELIST设置rpmrc文档为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。

2).删除命令格式:rpm -e(or--erase) options pkg1 ... pkgN参数:pkg1...pkgN:要删除的软件包。详细选项:--test只执行删除的测试;--noscripts不运行预安装和后安装脚本程序;--nodeps不检查依赖性。

通用选项:-vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预Linux软件安装程序和后Linux软件安装程序都会安装到这个目录下;--rcfile FILELIST设置rpmrc文档为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。

3).升级命令格式:rpm -U(or--upgrade) options file1.rpm ... fileN.rpm参数:file1.rpm...fileN.rpm指软件包的名字。详细选项:-h(or—hash)Linux软件安装时输出hash记号;—oldpackage允许一个旧版本;

--test只进行升级测试;--excludedocs不安装软件包中的文件;--includedocs安装文件;--replacepkgs强制重新安装已经Linux软件安装的软件包;--replacefiles替换属于其他软件包的文件;--force忽略软件包及文件的冲突;

--percent以百分比的形式输出Linux软件安装的进度;--noscripts不运行预安装和后安装脚本;--prefix NEWPATH将软件包安装到由NEWPATH指定的路径下;--ignorearch不校验软件包的结构;--ignoreos不检查软件包运行的操作系统;

--nodeps不检查依赖性关系;--ftpproxy HOST用HOST作为FTP代理;--ftpport HOST指定FTP的埠号为HOST。通用选项:-v显示附加信息;-vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录。

这样预Linux软件安装程序和后Linux软件安装程序都会安装到这个目录下;--rcfile FILELIST设置rpmrc文件为FILELIST ;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。

4).查询命令格式:rpm -q(or--query) options参数:pkg1...pkgN:查询已安装的软件包。详细选项:-p PACKAGE_FILE查询软件包的文件;-f FILE查询FILE属于哪个软件包;-a查询所有Linux软件安装的软件包;

--whatproVides CAPABILITY查询提供了CAPABILITY功能的软件包;-g group查询属于group组的软件包;--whatrequires CAPABILITY查询所有需要CAPABILITY功能的软件包。选项:-i显示软件包的概要信息;

-l显示软件包中的文件列表;-c显示配置文件列表;-d显示文件列表;-s显示软件包中文档列表并显示每个文件的状态 -;-scripts显示Linux软件安装、卸载、校验脚本;--queryformat(or--qf)以用户指定的方式显示查询信息;

--dump显示每个文件的所有已校验信息;--proVides显示软件包提供的功能;--requires(or-R)显示软件包所需的功能。
通用选项:-v显示附加信息;

-vv显示调试信息;--root DIRECTORY让RPM将DIRECTORY指定的路径作为根目录,这样预安装程序和后Linux软件安装程序都会安装到这个目录下;-rcfile FILELIST设置rpmrc文件为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。

5).校验已Linux软件安装的软件包命令格式:rpm -V(or--verify,or-y) options参数:pkg1...pkgN将要校验的软件包名软件包选项:-p PACKAGE_FILE校验PACKAGE_FILE所属的软件包;-a校验所有的软件包;-g group校验所有属于组group的软件包。

详细选项:--noscripts不运行校验脚本;--nodeps不校验依赖性;--nofiles不校验文档属性。通用选项:-v显示附加信息;-vv显示调试信息;--root PATH让RPM将PATH指定的路径做为根目录,这样预安装程序和后Linux软件安装程序都会Linux软件安装到这个目录下;--rcfile FILELIST设置rpmrc文件为FILELIST;--dbpath DIRECTORY设置RPM资料库所在的路径为DIRECTORY。

6).校验软件包中的文件语法:rpm -K(or--checksig) options file1.rpm...fileN.rpm参数:file1.rpm...fileN.rpm软件包的文件名;Checksig--详细选项;--nopgp不校验PGP签名。通用选项:-v显示附加信息;-vv显示调试信息;--rcfile FILELIST设置rpmrc文件为FILELIST。

7).其他RPM选项--rebuilddb重建RPM资料库;--initdb创建一个新的RPM资料库;--quiet尽可能地减少输出;--help显示帮助文件;--version显示RPM的当前版本。
如果你不喜欢在字符接口下Linux软件安装或卸载这些软件包,完全可以安装基于X-Window的图形接口软件包管理程序,如glint, xrpm这样的图形接口。

或使用KDE的KPackage(单击【开始】→【运行命令】,在其中输入KPackage即可启动KPackage)等,这样对软件包的Linux软件安装、升级、卸载、验证和查询就可以通过单击鼠标来轻松完成,如图所示。

4. deb格式的Linux软件安装,一般双击就可以了!

5 . yum主要功能是更方便的添加/删除/更新RPM包.它能自动解决包的倚赖性问题.它能便于管理大量系统的更新问题.*rpm包的检查更新//检查可更新的rpm包#yum check-update//更新所有的rpm包#yum update//更新指定的rpm包,如更新kernel和kernel source#yum update kernel kernel-source//大规模的版本升级。

与yum update不同的是,连旧的淘汰的包也升级#yum upgrade*rpm包的安装和删除//例如安装rpm包,如xmms-mp3#yum install xmms-mp3//删除rpm包,包括与该包有倚赖性的包#yum remove licq注:同时会提示删除licq-gnome。

licq-qt,licq-text*yum暂存(/var/cache/yum/)的相关参数//清除暂存中rpm包文件#yum clean packages//清除暂存中rpm头文件#yum clearn headers//清除暂存中旧的rpm头文件#yum clean oldheaders//清除暂存中旧的rpm头文件和包文件#yum clearn 或#yum clearn all注:相当于yum clean packages + yum clean oldheaders*rpm包列表//列出资源库中所有可以Linux软件安装或更新的rpm包#yum list//列出资源库中特定的可以安装或更新以及已经安装的rpm包#yum list mozilla#yum list mozilla*注:可以在rpm包名中使用匹配符。

如列出所有以mozilla开头的rpm包//列出资源库中所有可以更新的rpm包#yum list updates//列出已经安装的所有的rpm包#yum list installed//列出已经安装的但是不包含在资源库中的rpm包#yum list extras注:通过其它网站下载安装的rpm包*rpm包信息显示(info参数同list)//列出资源库中所有可以安装或更新的rpm包的信息#yum info//列出资源库中特定的可以Linux软件安装或更新以及已经安装的rpm包的信息#yum info mozilla#yum info mozilla*注:可以在rpm包名中使用匹配符。

如列出所有以mozilla开头的rpm包的信息//列出资源库中所有可以更新的rpm包的信息#yum info updates//列出已经安装的所有的rpm包的信息#yum info installed//列出已经安装的但是不包含在资源库中的rpm包的信息#yum info extras注:通过其它网站下载安装的rpm包的信息*搜索rpm包//搜索匹配特定字符的rpm包#yum search mozilla注:在rpm包名。

包描述等中搜索//搜索有包含特定文件名的rpm包#yum provides realplay6 . apt是一个很完整和先进的软件包管理程序,在ubuntu中使用它可以让你,又简单,又准确的找到你要的的软件包, 并且Linux软件安装或卸载都很简洁。 它还可以让你的所有软件都更新到最新状态,而且也可以用来对ubuntu进行升级。可以自动处理相互之间的依赖关系,并且在升级过程中 维护他们的配置文件。

apt-get update——在修改/etc/apt/sources.list或者/etc/apt/preferences之后运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的。 apt-get install packagename——安装一个新软件包(参见下文的aptitude)

apt-get remove packagename——卸载一个已安装的软件包(保留配置文件) apt-get --purge remove packagename——卸载一个已安装的软件包(删除配置文件) dpkg --force-all --purge packagename 有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险。

apt-get autoclean apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件 apt-get clean 这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。

apt-get upgrade——更新所有已安装的软件包 apt-get dist-upgrade——将系统升级到新版本 apt-cache search string——在软件包列表中搜索字符串 dpkg -l package-name-pattern——列出所有与模式相匹配的软件包。如果您不知道软件包的全名,您可以使用“*package-name-pattern*”。

aptitude——详细查看已Linux软件安装或可用的软件包。与apt-get类似,aptitude可以通过命令行方式调用,但仅限于某些命令——最常见的有安装和卸载命令。由于aptitude比apt-get了解更多信息,可以说它更适合用来进行安装和卸载。

apt-cache showpkg pkgs——显示软件包信息。 apt-cache dumpavail——打印可用软件包列表。 apt-cache show pkgs——显示软件包记录,类似于dpkg –print-avail。
apt-cache pkgnames——打印软件包列表中所有软件包的名称。

dpkg -S file——这个文件属于哪个已Linux软件安装包。 dpkg -L package——列出软件包中的所有文件。 apt-file search filename——查找包含特定文件的软件包(不一定是已安装的),这些文件的文件名中含有指定的字符串。apt-file是一个独立的软件包。您必须先使用apt-get install来安装它,然后运行apt-file update。

如果apt-file search filename输出的内容太多,您可以尝试使用apt-file search filename | grep -w filename(只显示指定字符串作为完整的单词出现在其中的那些文件名)或者类似方法,例如:apt-file search filename | grep /bin/(只显示位于诸如/bin或/usr/bin这些文件夹中的文件,如果您要查找的是某个特定的执行文件的话,这样做是有帮助的)。

apt-get autoclean——定期运行这个命令来清除那些已经卸载的软件包的.deb文件。通过这种方式,您可以释放大量的磁盘空间。如果您的需求十分迫切,可以使用apt-get clean以释放更多空间。这个命令会将已Linux软件安装包裹的.deb文件一并删除。大多数情况下您不会再用到这些.debs文件,因此如果您为磁盘空间不足而感到焦头烂额,这个办法也许值得一试。

7.bin结尾的安装包,这种包类似于RPM包,安装也比较简单:
1、打开一个SHELL,即终端;
2、用CD命令进入源代码压缩包所在的目录;
3、给文件加上可执行属性:chmod +x ******.bin(中间是字母x,小写);
3、执行命令:./******.bin(realplayer for linux就是这样的安装包);
如何卸载:把安装时中选择的安装目录删除就OK;
安装完软件后可以有好多种方法执行软件:
A、有些Linux软件安装后会自动在应用程序列表里加上快捷键,和windows一样,到那里找就行了。
B、如果在应用程序列表里找不到的话,可以直接在/开始/运行命令里输入命令:启动命令一般就是软件名,如firefox,realplay,xmms等;
C、也可以打开一个shell终端,输入软件名,和在“运行命令”里一样。如果不知道命令全程的话,可以输入开头的字母,然后按tab键查找,系统会自动显示以输入字母开头的所有命令.
D、你也可以直接到安装目录下运行启动文件,linux下的可执行图标和shell终端图标很像.
E、到/usr/bin目录里找安装的软件启动文件执行命令。linux系统把所有可执行的文件命令在/usr/bin目录里都作了启动连接,你可以去那个目录寻找你安装的文件的启动命令,双击启动.

linux服务器基本安全配置手

假如你想要搭建一个Linux服务器,并且希望可以长期维护的话,就需要考虑安全性能与速度等众多因素。一份正确的linux基本安全配置手册就显得格外重要。在我本文中就向大家介绍在edhat/centos 4,5下的Linux服务器基本安全配置手册。
安装注意
1.删除系统特殊的的用户帐号:
禁止所有默认的被操作系统本身启动的且不需要的帐号,当你第一次装上系统时就应该做此检查,Linux提供了各种帐号,你可能不需要,如果你不需要这个帐号,就移走它,你有的帐号越多,就越容易受到攻击。
#为删除你系统上的用户,用下面的命令:
[root@c1gstudio]# userdel username
#批量删除方式
#这里删除"adm lp sync shutdown halt mail news uucp operator games gopher ftp "账号
#如果你开着ftp等服务可以把ftp账号保留下来。

for i in adm lp sync shutdown halt mail news uucp ope

rator games gopher ftp ;do userdel $i ;done

2.删除系统特殊的组帐号

[root@c1gstudio]# groupdel groupname

#批量删除方式

for i in adm lp mail news uucp games dip pppusers pop

users slipusers ;do groupdel $i ;done

3.用户密码设置

安装linux时默认的密码最小长度是5个字节,但这并不够,要把它设为8个字节。修改最短密码长度需要编辑login.defs文件#vi /etc/login.defs

PASS_MAX_DAYS   99999    ##密码设置最长有效期(默认值)

PASS_MIN_DAYS   0        ##密码设置最短有效期

PASS_MIN_LEN    5        ##设置密码最小长度,将5改为8

PASS_WARN_AGE   7        ##提前多少天警告用户密码即将过期。

然后修改Root密码

#passwd root

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

4.修改自动注销帐号时间

自动注销帐号的登录,在Linux系统中root账户是具有最高特权的。如果系统管理员在离开系统之前忘记注销root账户,那将会带来很大的安全隐患,应该让系统会自动注销。通过修改账户中“TMOUT”参数,可以实现此功能。TMOUT按秒计算。编辑你的profile文件(vi /etc/profile),在"HISTSIZE="后面加入下面这行:

TMOUT=300

300,表示300秒,也就是表示5分钟。这样,如果系统中登陆的用户在5分钟内都没有动作,那么系统会自动注销这个账户。

5.限制Shell命令记录大小

默认情况下,bash shell会在文件$HOME/.bash_history中存放多达500条命令记录(根据具体的系统不同,默认记录条数不同)。系统中每个用户的主目录下都有一个这样的文件。在此笔者强烈建议限制该文件的大小。

您可以编辑/etc/profile文件,修改其中的选项如下:

HISTFILESIZE=30或HISTSIZE=30

#vi /etc/profile

HISTSIZE=30

6.注销时删除命令记录

编辑/etc/skel/.bash_logout文件,增加如下行:

rm -f $HOME/.bash_history

这样,系统中的所有用户在注销时都会删除其命令记录。

如果只需要针对某个特定用户,如root用户进行设置,则可只在该用户的主目录下修改/$HOME/.bash_history文件,增加相同的一行即可。

7.用下面的命令加需要的用户组和用户帐号

[root@c1gstudio]# groupadd

例如:增加website 用户组,groupadd website

然后调用vigr命令查看已添加的用户组

用下面的命令加需要的用户帐号

[root@c1gstudio]# useradd username -g website //添加用户到website组(作为webserver的普通管理员,而非root管理员)

然后调用vipw命令查看已添加的用户

用下面的命令改变用户口令(至少输入8位字母和数字组合的密码,并将密码记录于本地机的专门文档中,以防遗忘)

[root@c1gstudio]# passwd username

8.阻止任何人su作为root

如果你不想任何人能够su作为root,你能编辑/etc/pam.d/su加下面的行:

#vi /etc/pam.d/su
   auth sufficient /lib/security/$ISA/pam_rootok.so debug

auth required /lib/security/$ISA/pam_wheel.so group=website

意味着仅仅website组的用户可以su作为root.

9.修改ssh服务的root登录权限

修改ssh服务配置文件,使的ssh服务不允许直接使用root用户来登录,这样减少系统被恶意登录攻击的机会。

#vi /etc/ssh/sshd_config

PermitRootLogin yes

将这行前的#去掉后,修改为:

PermitRootLogin no

10.修改ssh服务的sshd 端口

ssh默认会监听在22端口,你可以修改至6022端口以避过常规的扫描。

注意:修改端口错误可能会导致你下次连不到服务器,可以先同时开着22和6022两个端口,然后再关掉22端口;

重启sshd不会弹掉你当前的连接,可以另外开一个客户端来测试服务;

#vi /etc/ssh/sshd_config

#增加修改

#Port 22 #关闭22端口

Port 6022 #增加6022端口

#重启sshd服务

service sshd restart

检查一下sshd的监听端口对不对

netstat -lnp|grep ssh

#iptables开放sshd的6022端口

vi /etc/sysconfig/iptables

#如果使用redhat默认规则则增加

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 6022 -j ACCEPT

#或

iptables -A INPUT -p tcp --dport 6022 -j ACCEPT

iptables -A OUTPUT -p udp --sport 6022 -j ACCEPT

重启iptables 服务

service iptables restart

#测试两个端口是否都能连上,连上后再将22端口删除

详细参考:

Linux操作系统下SSH默认22端口修改方法

11.关闭系统不使用的服务:

cd /etc/init.d #进入到系统init进程启动目录

在这里有两个方法,可以关闭init目录下的服务,

一、将init目录下的文件名mv成*.old类的文件名,即修改文件名,作用就是在系统启动的时候找不到这个服务的启动文件。

二、使用chkconfig系统命令来关闭系统启动等级的服务。

注:在使用以下任何一种方法时,请先检查需要关闭的服务是否是本服务器特别需要启动支持的服务,以防关闭正常使用的服务。

使用chkcofig命令来关闭不使用的系统服务 (level前面为2个减号)要想在修改启动脚本前了解有多少服务正在运行,输入:

ps aux | wc -l

然后修改启动脚本后,重启系统,再次输入上面的命令,就可计算出减少了多少项服务。越少服务在运行,安全性就越好。另外运行以下命令可以了解还有多少服务在运行:

netstat -na --ip

批量方式先停止服务

for i in acpid anacron apmd atd auditd autofs avahi-daemon avahi-dnsconfd bluetooth cpuspeed cups dhcpd firstboot gpm haldaemon hidd ip6tables ipsec isdn kudzu lpd mcstrans messagebus microcode_ctl netfs nfs nfslock nscd pcscd portmap readahead_early restorecond rpcgssd rpcidmapd rstatd sendmai

l setroubleshoot snmpd sysstat xfs xinetd yppasswdd ypserv yum-updatesd ;do service $i stop;done

关闭启动服务

for i in acpid anacron apmd atd auditd autofs avahi-daemon avahi-dnsconfd bluetooth cpuspeed cups dhcpd firstboot gpm haldaemon hidd ip6tables ipsec isdn kudzu lpd mcstrans messagebus microcode_ctl netfs nfs nfslock nscd pcscd portmap readahead_early restorecond rpcgssd rpcidmapd rstatd sendmai

l setroubleshoot snmpd sysstat xfs xinetd yppasswdd ypserv yum-updatesd ;do chkconfig $i off;done

以下为手动方式及解释,执行批量方式后不需再执行了

chkconfig --level 345 apmd off ##笔记本需要

chkconfig --level 345 netfs off ## nfs客户端

chkconfig --level 345 yppasswdd off ## NIS服务器,此服务漏洞很多

chkconfig --level 345 ypserv off ## NIS服务器,此服务漏洞很多

chkconfig --level 345 dhcpd off ## dhcp服务

chkconfig --level 345 portmap off ##运行rpc(111端口)服务必需

chkconfig --level 345 lpd off ##打印服务

chkconfig --level 345 nfs off ## NFS服务器,漏洞极多

chkconfig --level 345 sendmail off ##邮件服务, 漏洞极多

chkconfig --level 345 snmpd off ## SNMP,远程用户能从中获得许多系统信息

   chkconfig --level 345 rstatd off ##避免运行r服务,远程用户可以从中获取很多信息

chkconfig --level 345 atd off ##和cron很相似的定时运行程序的服务

注:以上chkcofig 命令中的3和5是系统启动的类型,以下为数字代表意思

0:开机(请不要切换到此等级)

1:单人使用者模式的文字界面

2:多人使用者模式的文字界面,不具有网络档案系统(NFS)功能

3:多人使用者模式的文字界面,具有网络档案系统(NFS)功能

4:某些发行版的linux使用此等级进入x windows system

5:某些发行版的linux使用此等级进入x windows system

6:重新启动

如果不指定--level 单用on和off开关,系统默认只对运行级3,4,5有效

chkconfig cups off #打印机

chkconfig bluetooth off # 蓝牙

chkconfig hidd off # 蓝牙

chkconfig ip6tables off # ipv6

chkconfig ipsec off # vpn

chkconfig auditd off #用户空间监控程序

chkconfig autofs off #光盘软盘硬盘等自动加载服务

chkconfig avahi-daemon off #主要用于Zero Configuration Networking ,一般没什么用建议关闭

chkconfig avahi-dnsconfd off #主要用于Zero Configuration Networking ,同上,建议关闭

chkconfig cpuspeed off #动态调整CPU频率的进程,在服务器系统中这个进程建议关闭

chkconfig isdn off #isdn

chkconfig kudzu off #硬件自动监测服务

chkconfig nfslock off #NFS文档锁定功能。文档共享支持,无需的能够关了

chkconfig nscd off #负责密码和组的查询,在有NIS服务时需要

chkconfig pcscd off #智能卡支持,,如果没有可以关了

chkconfig yum-updatesd off #yum更新

chkconfig acpid off

chkconfig autofs off

chkconfig firstboot off

chkconfig mcstrans off #selinux

chkconfig microcode_ctl off

chkconfig rpcgssd off

chkconfig rpcidmapd off

chkconfig setroubleshoot off

chkconfig xfs off

chkconfig xinetd off

chkconfig messagebus off

chkconfig gpm off #鼠标

chkconfig restorecond off #selinux

chkconfig haldaemon off

chkconfig sysstat off

chkconfig readahead_early off

chkconfig anacron off

需要保留的服务

crond , irqbalance , microcode_ctl ,network , sshd ,syslog

因为有些服务已运行,所以设置完后需重启

chkconfig

/*

语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

补充说明:这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。

参数:

--add  增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。

--del  删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。

--level<等级代号>  指定读系统服务要在哪一个执行等级中开启或关毕

   12.阻止系统响应任何从外部/内部来的ping请求

既然没有人能ping通你的机器并收到响应,你可以大大增强你的站点的安全性。你可以加下面的一行命令到/etc/rc.d/rc.local,以使每次启动后自动运行。

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

#这个可以不做哈

13.修改“/etc/host.conf”文件

“/etc/host.conf”说明了如何解析地址。编辑“/etc/host.conf”文件(vi /etc/host.conf),加入下面这行:

# Lookup names via DNS first then fall back to /etc/hosts.

order hosts,bind

# We have machines with multiple IP addresses.

multi on

# Check for IP address spoofing.

nospoof on

第一项设置首先通过DNS解析IP地址,然后通过hosts文件解析。第二项设置检测是否“/etc/hosts”文件中的主机是否拥有多个IP地址(比如有多个以太口网卡)。第三项设置说明要注意对本机未经许可的电子欺骗。

14.不允许从不同的控制台进行root登陆
"/etc/securetty"文件允许你定义root用户可以从那个TTY设备登陆。你可以编辑"/etc/securetty"文件,再不需要登陆的TTY设备前添加“#”标志,来禁止从该TTY设备进行root登陆。

在/etc/inittab文件中有如下一段话:

# Run gettys in standard runlevels

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

#3:2345:respawn:/sbin/mingetty tty3

#4:2345:respawn:/sbin/mingetty tty4

#5:2345:respawn:/sbin/mingetty tty5

#6:2345:respawn:/sbin/mingetty tty6

系统默认的可以使用6个控制台,即Alt+F1,Alt+F2...,这里在3,4,5,6前面加上“#”,注释该句话,这样现在只有两个控制台可供使用,最好保留两个。然后重新启动init进程,改动即可生效!

15.禁止Control-Alt-Delete键盘关闭命令

在"/etc/inittab" 文件中注释掉下面这行(使用#):

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

改为:

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

为了使这项改动起作用,输入下面这个命令:

# /sbin/init q

16.用chattr命令给下面的文件加上不可更改属性。

[root@c1gstudio]# chattr +i /etc/passwd

[root@c1gstudio]# chattr +i /etc/shadow

[root@c1gstudio]# chattr +i /etc/group

[root@c1gstudio]# chattr +i /etc/gshadow

【注:chattr是改变文件属性的命令,参数i代表不得任意更动文件或目录,此处的i为不可修改位(immutable)。查看方法:lsattr /etc/passwd,撤销为chattr -i /etc/group】

补充说明:这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:

a:让文件或目录仅供附加用途。

b:不更新文件或目录的最后存取时间。

c:将文件或目录压缩后存放。

d:将文件或目录排除在倾倒操作之外。

i:不得任意更动文件或目录。

s:保密性删除文件或目录。

S:即时更新文件或目录。

u:预防以外删除。

参数:

-R 递归处理,将指定目录下的所有文件及子目录一并处理。

-v<版本编号> 设置文件或目录版本。

-V 显示指令执行过程。

+<属性> 开启文件或目录的该项属性。

-<属性> 关闭文件或目录的该项属性。

=<属性> 指定文件或目录的该项属性。

17.给系统服务端口列表文件加锁

主要作用:防止未经许可的删除或添加服务

chattr +i /etc/services

【查看方法:lsattr /etc/ services,撤销为chattr -i /etc/ services】

18.系统文件权限修改

Linux文件系统的安全主要是通过设置文件的权限来实现的。每一个Linux的文件或目录,都有3组属性,分别定义文件或目录的所有者,用户组和其他人的使用权限(只读、可写、可执行、允许SUID、允许SGID等)。特别注意,权限为SUID和SGID的可执行文件,在程序运行过程中,会给进程赋予所有者的权限,如果被黑客发现并利用就会给系统造成危害。

(1)修改init目录文件执行权限:

chmod -R 700 /etc/init.d/* (递归处理,owner具有rwx,group无,others无)

(2)修改部分系统文件的SUID和SGID的权限:

chmod a-s /usr/bin/chage

chmod a-s /usr/bin/gpasswd

chmod a-s /usr/bin/wall

chmod a-s /usr/bin/chfn

chmod a-s /usr/bin/chsh

chmod a-s /usr/bin/newgrp

chmod a-s /usr/bin/write

chmod a-s /usr/sbin/usernetctl

chmod a-s /usr/sbin/traceroute

chmod a-s /bin/mount

chmod a-s /bin/umount

chmod a-s /sbin/netreport

(3)修改系统引导文件

chmod 600 /etc/grub.conf

chattr +i /etc/grub.conf

【查看方法:lsattr /etc/grub.conf,撤销为chattr -i /etc/grub.conf】

19.增加dns

#vi /etc/resolv.conf

nameserver 8.8.8.8 #google dns

nameserver 8.8.4.4

20.hostname 修改

#注意需先把mysql、postfix等服务停了

1.hostname servername

2.vi /etc/sysconfig/network

service network restart

3.vi /etc/hosts
    21.selinux 修改

开启selinux可以增加安全性,但装软件时可能会遇到一些奇怪问题

以下是关闭方法

#vi /etc/selinux/config

改成disabled

22.关闭ipv6

echo "alias net-pf-10 off" >> /etc/modprobe.conf

echo "alias ipv6 off" >> /etc/modprobe.conf

#vi /etc/sysconfig/network

NETWORKING_IPV6=no

重启服务

Service ip6tables stop

Service network restart

关闭自动启动

chkconfig --level 235 ip6tables off

23.设置iptables

iptables 默认安全规则脚本

重启系统

以上大部分设置可以运行脚本来完成。linux安全设置快捷脚本

设置完成后重启系统

其它设置项

linux调整系统时区/时间的方法

把/usr/share/zoneinfo里相应的时区与/etc/localtime做个软link.比如使用上海时区的时间:ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 如果要使用UTC计时方式,则应在/etc/sysconfig/clock文件里改UTC=TRUE 时间的设置: 使用date 命令加s参数修改,注意linux的时间格式为"月日时分年",也可以只修改时间date -s 22:30:20,如果修改的是年月日和时间,格式为"月日时分年.秒",2007-03-18 11:01:56则应写为"date -s 031811012007.56 硬件时间与当前时间更新: hwclock --systohc 如果硬件记时用UTC,则为 hwclock --systohc --utc

linux调整系统时区/时间的方法

1) 找到相应的时区文件

/usr/share/zoneinfo/Asia/Shanghai

用这个文件替换当前的/etc/localtime文件。

步骤: cp -i /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

选择覆盖

2) 修改/etc/sysconfig/clock文件,修改为:

ZONE="Asia/Shanghai"

UTC=false

ARC=false

3)

时间设定成2005年8月30日的命令如下:

#date -s 08/30/2005

将系统时间设定成下午6点40分0秒的命令如下:

#date -s 18:40:00

4)同步BIOS时钟,强制把系统时间写入CMOS,命令如下:

#clock -w

安装ntpd

#yum install ntp

#chkconfig --levels 235 ntpd on

#ntpdate ntp.api.bz #先手动校准下

#service ntpd start

设置语言

英文语言,中文支持

#vi /etc/sysconfig/i18n

LANG="en_US.UTF-8"

SUPPORTED="zh_CN.UTF-8:zh_CN:zh"

SYSFONT="latarcyrheb-sun16"

tmpwatch 定时清除

假设服务器自定义了php的session和upload目录

#vi /etc/cron.daily/tmpwatch

在240 /tmp 前增加

-x /tmp/session -x /tmp/upload

#mkdir /tmp/session

#mkdir /tmp/upload

#chown nobody:nobody /tmp/upload

#chmod 0770 /tmp/upload

2010年11月1日星期一

Linux 安装 Mysql

一、引言
想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的MySQL。本以为有Windows下使用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用MySQL时走了很多弯路,遇见很多问题,毕竟Linux 和Windows本身就有很大区别。为了让和我一样的初学者在学习的过程中少走弯路,尽快入门,写了此文,希望对您有所帮助。本文的Linux环境是 Red Hat 9.0,MySQL是4.0.16。
二、安装Mysql
1、下载MySQL的安装文件
安装MySQL需要下面两个文件:
MySQL-server-4.0.16-0.i386.rpm   
MySQL-client-4.0.16-0.i386.rpm
下载地址为:www.mysql.com/downloads/mysql-4.0.html,打开此网页,下拉网页找到"Linux x86 RPM downloads"项,找到"Server"和"Client programs"项,下载需要的上述两个rpm文件。
2、安装MySQL
rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是 �ivh ,其中i表示将安装指定的rmp软件包,V表示安装时的详细信息,h表示在安装期间出现"#"符号来显示目前的安装过程。这个符号将持续到安装完成后才停止。
1)安装服务器端
在有两个rmp文件的目录下运行如下命令:
[root@test1 local]# rpm -ivh MySQL-server-4.0.16-0.i386.rpm
显示如下信息。
warning: MySQL-server-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...       ########################################### [100%]
1:MySQL-server     ########################################### [100%]
。。。。。。(省略显示)
/usr/bin/mysqladmin -u root password \'new-password\'
/usr/bin/mysqladmin -u root -h test1 password \'new-password\'
。。。。。。(省略显示)
Starting mysqld daemon with databases from /var/lib/mysql
如出现如上信息,服务端安装完毕。测试是否成功可运行netstat看Mysql端口是否打开,如打开表示服务已经启动,安装成功。Mysql默认的端口是3306。
[root@test1 local]# netstat -nat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address    Foreign Address   State   
tcp  0  0 0.0.0.0:3306   0.0.0.0:*    LISTEN   
上面显示可以看出MySQL服务已经启动。
2)安装客户端
运行如下命令:
[root@test1 local]# rpm -ivh MySQL-client-4.0.16-0.i386.rpm
warning: MySQL-client-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...    ########################################### [100%]
1:MySQL-client########################################### [100%]
显示安装完毕。
用下面的命令连接mysql,测试是否成功。
三、登录MySQL
登录MySQL的命令是mysql, mysql 的使用语法如下:
mysql [-u username] [-h host] [-p[password]] [dbname]
username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于初始没有密码,第一次进时只需键入mysql即可。
[root@test1 local]# mysql
Welcome to the MySQL monitor. Commands end with ; or \\g.
Your MySQL connection id is 1 to server version: 4.0.16-standard
Type \'help;\' or \'\\h\' for help. Type \'\\c\' to clear the buffer.
mysql>
出现了"mysql>"提示符,恭喜你,安装成功!
增加了密码后的登录格式如下:
mysql -u root -p
Enter password: (输入密码)
其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。
注意:这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。
四、MySQL的几个重要目录
MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。
下面就介绍一下这几个目录。
1、数据库目录
/var/lib/mysql/
2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)
3、相关命令
/usr/bin(mysqladmin mysqldump等命令)
4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
五、修改登录密码
MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。
1、命令
usr/bin/mysqladmin -u root password \'new-password\'
格式:mysqladmin -u用户名 -p旧密码 password 新密码
2、例子
例1:给root加个密码123456。
键入以下命令 :
[root@test1 local]# /usr/bin/mysqladmin -u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
3、测试是否修改成功
1)不用密码登录
[root@test1 local]# mysql
ERROR 1045: Access denied for user: \'root@localhost\' (Using password: NO)
显示错误,说明密码已经修改。
2)用修改后的密码登录
[root@test1 local]# mysql -u root -p
Enter password: (输入修改后的密码123456)
Welcome to the MySQL monitor. Commands end with ; or \\g.
Your MySQL connection id is 4 to server version: 4.0.16-standard
Type \'help;\' or \'\\h\' for help. Type \'\\c\' to clear the buffer.
mysql>
成功!
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。
六、启动与停止
1、启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
[root@test1 init.d]# /etc/init.d/mysql start
2、停止
/usr/bin/mysqladmin -u root -p shutdown
3、自动启动
1)察看mysql是否在自动启动列表中
[root@test1 local]# /sbin/chkconfig �list
2)把MySQL添加到你系统的启动服务组里面去
[root@test1 local]# /sbin/chkconfig � add mysql
3)把MySQL从启动服务组里面删除。
[root@test1 local]# /sbin/chkconfig � del mysql
七、更改MySQL目录
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:
1、home目录下建立data目录
cd /home
mkdir data
2、把MySQL服务进程停掉:
mysqladmin -u root -p shutdown
3、把/var/lib/mysql整个目录移到/home/data
mv /var/lib/mysql /home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下
4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。 修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock 。操作如下:
vimy.cnf  (用vi工具编辑my.cnf文件,找到下列数据修改之)
# The MySQL server
[mysqld]
port   = 3306
#socket= /var/lib/mysql/mysql.sock(原内容,为了更稳妥用"#"注释此行)
socket= /home/data/mysql/mysql.sock   (加上此行)
6、修改MySQL启动脚本/etc/rc.d/init.d/mysql
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。
[root@test1 etc]# vi /etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql    (注释此行)
datadir=/home/data/mysql (加上此行)
7、重新启动MySQL服务
/etc/rc.d/init.d/mysql start
或用reboot命令重启Linux
如果工作正常移动就成功了,否则对照前面的7步再检查一下。
八、MySQL的常用操作
注意:MySQL中每个命令后都要以分号;结尾。
1、显示数据库
mysql> show databases;
+----------+
| Database |
+----------+
| mysql  |
| test |
+----------+
2 rows in set (0.04 sec)
Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。
2、显示数据库中的表
mysql> use mysql; (打开库,对每个库进行操作就要打开此库,类似于foxpro )
Database changed
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv  |
| db       |
| func      |
| host      |
| tables_priv |
| user      |
+-----------------+
6 rows in set (0.01 sec)
3、显示数据表的结构:
describe 表名;
4、显示表中的记录:
select * from 表名;
例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。
Select * from user;
5、建库:
create database 库名;
例如:创建一个名字位aaa的库
mysql> create databases aaa;
6、建表:
use 库名;
create table 表名 (字段设定列表);
例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段
use aaa;
mysql> create table name (id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
可以用describe命令察看刚建立的表结构。
mysql> describe name;
+-------+---------+------+-----+---------+----------------+
| Field | Type  | Null | Key | Default | Extra     |
+-------+---------+------+-----+---------+----------------+
| id  | int(3) |   | PRI | NULL  | auto_increment |
| xm  | char(8) | YES | | NULL  |        |
| xb  | char(2) | YES | | NULL  |        |
| csny | date  | YES | | NULL  |        |
+-------+---------+------+-----+---------+----------------+
7、增加记录
例如:增加几条相关纪录。
mysql> insert into name values(\'\',\'张三\',\'男\',\'1971-10-01\');
mysql> insert into name values(\'\',\'白云\',\'女\',\'1972-05-20\');
可用select命令来验证结果。
mysql> select * from name;
+----+------+------+------------+
| id | xm| xb| csny  |
+----+------+------+------------+
| 1 | 张三 | 男| 1971-10-01 |
| 2 | 白云 | 女| 1972-05-20 |
+----+------+------+------------+
8、修改纪录
例如:将张三的出生年月改为1971-01-10
mysql> update name set csny=\'1971-01-10\' where xm=\'张三\';
9、删除纪录
例如:删除张三的纪录。
mysql> delete from name where xm=\'张三\';
10、删库和删表
drop database 库名;
drop table 表名;
九、增加MySQL用户
格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:
mysql> grant select,insert,update,delete on *.* to user_1@"%" Identified by "123";
例1增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。
例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过 MYSQL主机来操作aaa库。
mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by "123";
用新增的用户如果登录不了MySQL,在登录时用如下命令:
mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登录主机的ip地址)
十、备份与恢复
1、备份
例如:将上例创建的aaa库备份到文件back_aaa中
[root@test1 root]# cd /home/data/mysql (进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第七部分内容)
[root@test1 mysql]# mysqldump -u root -p --opt aaa > back_aaa
2、恢复
[root@test mysql]# mysql -u root -p ccc < back_aaa

2010年10月28日星期四

picasa 3.8 中文版试用

直接输帐号不用翻墙,很爽呀.大家快去下载吧.不知道Google什么时候出了中文版.
之前的英文版对我来说真的很不好用.

2010年10月27日星期三

怎么都不倒 温家宝在中国政坛绝对特殊

                   怎么都不倒 温家宝在中国政坛绝对特殊  
    在中共政坛上最让人琢磨不透的人是现任总理温家宝。这个人曾经卷入过"六
四",现在在胡锦涛总书记下面干得很红火,也非常会哭鼻子,而且在老百姓心目
中的形象总是一个清明的位子。可是也有人说他是中国的最佳的演员,是"影帝"
,而且最近一段时间他在深圳讲话,还公开提出要搞政治改革。

    那么这一系列事情让大家对温家宝这个人究竟是什么样的真面目看得不清楚,
那么我们今天就给大家讲一讲中国政坛上温家宝这么一个非常特殊的人物。 
    温家宝是天津人,出生于1942年9月,今年67岁。他年轻的时候在北京地质大
学上学,1965年大学毕业之后又考上了本校的地质构造专业的研究生,并同时加入
了共产党。 
    在温家宝上研究生的时候,正好是文化大革命非常红火的年月。温家宝在这段
时间注重专业,与文革的调子不相符合。1968年研究生毕业之后,被分配到大西北
的甘肃省地质局当技术员。在这段期间,温家宝看到了搞政治的好处,渐渐远离专
业,逐渐转变成为彻头彻尾的政工干部。从政治干事升到政治处的处长,以及党委
常委,并在1981年当上了甘肃省地质局的副局长。 
    当时中共内部由胡耀邦、赵紫阳掌舵。胡耀邦在1982年发现温家宝是个宝,便
让他坐上直升飞机,调到北京的地质矿产部当官,主管地质部的政治思想工作。
1985年温家宝官运突然出现大跃进,被胡耀邦一下子升为中共中央办公厅副主任。
一年之后,又转为主任,主管中央庞大的党工系统的核心办公室。 
    正是在担任中共中央办公厅主任的位子上,温家宝遇到了轰轰烈烈的1989年天
安门民主运动。当时温家宝紧跟赵紫阳,还到天安门广场陪赵紫阳看望学生。"六
四"大屠杀之后,赵紫阳倒台,遭到清算。但是温家宝及时和赵紫阳划清了界线,
向邓小平表示了拥护镇压学生的决定。于是温家宝在一片大清洗的党内斗争中,像
当年毛泽东血腥统治下的邓小平一样,紧跟形势,及时检讨认错,安全逃脱清洗。 
    在江泽民手下,又升一级,于1992年当上了政治局候补委员,以及中央书记处
书记;还在1997年转正,成为政治局正式委员。1998年,温家宝当上朱熔基总理的
副手,在国务院副总理的位子上,主管日益混乱的金融工作。 
    江泽民下台之后,胡锦涛对国务院系统整顿。可是紧跟江泽民的温家宝,把形
势看得很准,及时投靠胡锦涛,成了江泽民时代留下来唯一的大管家。 
    胡锦涛还在2003年把温家宝推上了总理的位子,进入了政治局常委。这样奇迹
终于出现。因为温家宝成了中共自建党以来唯一一位在四位总书记手下干事而不被
整肃的高官,是不折不扣的"不倒翁"。而这其中四位的总书记中的两位,也就是
胡耀邦、赵紫阳已经被中央批倒批臭。可见,温家宝在共产党内部斗争中的生存能
力是何等的不同寻常。

2010年10月26日星期二

试用microsoft网盘手记

感觉还不错,把常用的软件放到这里随用随下
下载地址在这里
http://cid-728b25430f46d7c2.office.live.com/self.aspx/share/SDExplorer21.exe
安装后会在我的电脑里出现一个文件夹叫SDExplorer
把文件拖到里面就是上传,很好用.

2010年10月23日星期六

Linux qmail安装指南

版本:2.9
最后更新日期: 2005-04-20
邮箱:
网站: http://www.xuki.org/
问题讨论:http://www.xuki.org/bbs/
本文档全面介绍如何使用qmail在Linux上建造一个高性能的邮件服务器,如何用Vpopmail实现虚拟的邮件域,如何使用qmailadmin 通过Web页面方便的管理用户,如何添加大容量的邮件列表支持,如何实现病毒邮件清除,如何实现中文垃圾邮件过滤,以及如何实现用户的Web登陆。
我将在linux下安装qmail分成若干步骤,您只要按照顺序完成这些步骤,则可安装一台基于Linux的qmail邮件服务器;此套安装方法已经在RedHat AS4和Cent OS4下测试通过;希望有时间又有兴趣的朋友能够加入其中,一起完善它,做一套最完善的中文qmail安装指南,以帮助更多的正在学习qmail的朋友少走些弯路。
此文所实现的邮件系统功能列表:
・ SMTP服务器:SMTP-AUTH认证(Plain,Login,CRAM-MD5),TLS(SSL)支持
・ POP3服务器:CRAM-MD5,APOP,和SSL支持
・ IMAP服务器:TLS(SSL)支持
・ 邮件病毒清除
・ 邮件附件限制
・ 中文垃圾邮件过滤(最高90%)
・ 自动回复
・ 邮件列表
・ Web管理
・ 用户注册
・ 通过Web显示统计信息
・ WebMail
・ MRTG
安装前准备:
第一节:安装引言
1.1 介绍
1.2 什么是qmail?为什么选择qmail?
1.3 何处可得到最新版本
1.4 本指南发展历史
1.5 参考文章
1.6 免责声明
1.7 致谢
第二节:安装qmail前软件和环境确认
2.1 磁盘空间确认
2.2 检查DNS设置
2.3 确认系统环境
2.4 设置防火墙
2.5 设置MySQL
2.6 卸载已有的邮件系统
安装邮件系统:
第三节:下载所需要的软件包
第四节:安装qmail
第五节:安装vpopmail
第六节:安装iGenus(可选)
第七节:安装iGenus_Admin(可选)
第八节:安装courier-imap
第九节:安装SquirrelMail(可选)
第十节:安装SqwebMail(可选)
第十一节:安装Wmail(可选)
第十二节:安装Autorespond&Ezmlm
第十三节:安装qmailadmin
第 十四节:安装Vqregister(可选)
第十五节:安装vQadmin
第十六节:安装SpamAssassin
第十七节:安装Clamav
第十八节:安装MailDrop 和TNEF reader
第 十九节:安装qmail-scanner&qms-analog
第二十节:安装qmailAnalog & qlogtools
第二十一节:安装isoqlog
第二十二节:安装MRTG
测试及维护:
第二十三节:测试
第二十四节:系统维护
第二十五节:FAQ(网上收集)
第一节:安装引言 TOP
1.1 介绍
本指南的目的是帮助你从头开始建立一个大容量(1000用户以上)、易管理、易扩充、分布式、用户界面友好的邮件系统。如果仅仅是为了支持内部网络的很少用户,你可以选择sendmail,甚至是基于NT平台的任何共享的邮件服务器软件,它们更加易与操作和设定。作为一种尝试,当然你也可以选择本系统,但是你必须对Linux系统有相当的了解,至少是可以独立的配置一台Linux网络服务器。
本文档并不是简单的把相关软件的安装文档及FAQ汉化,相反的,本文档几乎不包括任何相关软件的安装文档及FAQ,我认为作为一个qmail的使用者,他应该做到以下几点:
・ 熟悉了所有Dan Bernstein(qmail的作者)发布的文档;
・ 熟悉www.qmail.org(qmail官方站点)的相关资源;
・ 尽量理解Life With qmail;
・ 耐心阅读所有相关软件的安装文档及FAQ!
qmail是一个非常复杂的系统,尽管它本身非常简洁。如果你对它的复杂性不够了解,你可以对照一下Sendmail, qmail就是设计用来取代Sendmail的。尽管qmail的配置要比Sendmail简单的多,而且通过第三方编程人员的不断努力,附加的add-on使得qmail更加易于配置和管理,但是它确实是一个非常复杂的系统。它需要你具有丰富的*NIX平台的管理经验,一旦你能正确的理解qmail,你就会发现,qmail确实是一个空前优秀的邮件系统。
本文档想起到一个"粘合剂"的作用,希望能够帮助qmail用户迅速实现一个以qmail为核心的大型邮件系统,并希望能够针对各组件的协调工作问题给出一个可行的解决方案。
本文档及其所有的附加脚本都已经经过了作者本人N(N>20)遍的测试,如果在你的系统上不能工作或出现异常错误,你可以参见第二节:安装qmail前软件和环境确认,对于其他的 *NIX 系统,我相信本文档的基本概念是正确的。
 
1.2 什么是qmail?为什么选择qmail?
qmail是可以完全替代Sendmail-binmail体系的新一代UNIX邮件系统,它也是一个基于UNIX操作系统的Internet邮件传输机构( Internet Mail Transfer Agent 简称MTA)。它采用标准的简单邮件传输协议(Simple Mail Transfer Protocol 简称SMTP)与Internet上其他MTA交换信息。为了解决用户邮件存储问题,qmail提出了Maildir存储方式,每个邮件作为单独的一个文件保存在用户个人的邮件目录下,这就避免了加锁。同时,qmail支持虚拟域(Virtual Domain)和虚拟用户(Virtual User),使邮件系统的用户独立于UNIX系统用户。与Sendmail相比,qmail有以下优点:
*安全---- qmail将E-mail处理过程分为多个分过程,尽量避免以Root用户身份运行。同时qmail也禁止对特权用户(Root、Deamon等)直接发信。
*可靠---- qmail的直接投递保证了E-mail在投递过程中不会丢失。qmail同时支持新的更可靠的信箱格式――Maildir,保证系统在突然崩溃情况下不至破坏整个信箱。
* 高效----运行在奔腾的BSD上,qmail每天可以轻松地投递20万封电子邮件。
*简单---- qmail 要比其他的Internet Mail系统小得多。 它通过统一的向前机制完成Forwarding、Alias和Maillist等功能, qmail使用简单高效队列来处理投递。qmail-SMTPD可以由Inetd启动,节省了一定资源。
1.3 何处可得到本指南最新版本?
本文档最新版本从http://www.xuki.org/可以得到
1.4 本指南的发展历史?
2.9-2005年4月8日
系统升级成RHEL 4/CentOS4,使用2.6的内核 
补丁和脚本集升级成最新的toaster-scripts-0.7&qmail-toaster-0.7.2
Clamav升级至0.83
qmail-scanner升级至1.25
spamassassin升级至3.0.2,增加及集成中文垃圾邮件过滤和中国反垃圾邮件联盟实时黑名单服务
vpopmail升级至vpopmail-5.4.10
2.8-2004年11月22日,之前没有规范的记录



1.0-2004年10月份,记不太清楚了
1.5 参考文章
Bill's Linux qmail Toaster
Life with qmail
The qmailrocks.org qmail Installation guide
1.6 免责声明
1. 此篇文章仅做参考,如果因为此文所引致的一切后果请自行负责;
2. 本人没有义务对此文做技术支持,各位如果有疑问请到我的论坛交流。
1.7 致谢
作者感谢所有对此文档及其相关内容提出疑问及报告错误的网友,是他们促进了本文档的完善,使本文档具有更好的可用性。
第二节:安装qmail前软件和环境确认 TOP
在成功安装qmail邮件系统之前,请务必确认安装中所需要的软件包和相关设置。此节给出一些确认清单,以方便各位朋友在安装之前进行相关设置的确认。当然不同的系统和服务器设置方法不一样,你可能发现有些确认动作没有列出来;如果各位有需要补充的,请联络我改正。
2.1 磁盘空间确认
下面是通常安装一套系统所需要的空间,根据需求不同空间要求也不一样。
最保守的磁盘空间必须有80-90MB;这些空间包括下载软件包和解开软件包所需要的磁盘空间。 在安装完成之后,删除下载的软件安装包,邮件服务运行所需要的安全空间15MB 就够了。
如果你的系统有多个分区:
/ 70MB.
/var 10MB
/home 起动邮件系统3MB够了,但因为邮件均存放在/home/vpopmail下,要根据实际情况调整
当然像现在硬盘价格这么低的状况下,我想硬盘空间不是什么问题的。
2.2 检查DNS设置
在开始之前,确保正确设置了DNS MX记录.例如使用"domain.com"作为邮件域,对MX记录进行测试:
在Linux下:
host -t mx domain.com
domain.com. mail is handled by 10 mail.domain.com.
host -t a mail.domain.com
mail.domain.com. has address xxx.xxx.xxx.xxx
在Windows下:
C:\>nslookup
Default Server: ns.domain.com
Address: xxx.xxx.xxx.xxx
>set type=mx
>domain.com
domain.com MX preference = 10, mail exchanger = mail.domain.com
mail.domain.com internet address = xxx.xxx.xxx.xxx
>exit
如果你的邮件服务器是用做公司内部邮件服务,不对外提供服务,此处可略过。
2.3 确认系统环境
确认下面的软件是否已经安装:
rpm -q httpd php php-mysql mysql mysql-server mysql-devel gdbm gdbm-devel openssl openssl-devel stunnel krb5-devel
如果你还没有安装, 请先安装它们. 你可以到安装光盘或是在这里找到它们的RPM包http://www.rpmfind.net.
我的操作系统选择和安装包选择:
操作系统:RedHat EL4/CentOS 4
系统软件安装包选择:
Desktops

Applications

Servers
Web Server:加选php-mysql
Mail Server:加选spamassassin,其它清除
FTP Server:Vsftpd
MySQL Database:加选mysql-bench/mysql-server/php-mysql
Development
Development Tools
SELinux: 像一些setuid程序,比如qmailAdmin, 将不能与SELinux同时工作,你必须在安装系统的时候关掉SELinux; 如果你已经安装好了操作系统并开启SELinux,并希望知道如何关掉它,请参考:
http://www.redhat.com/docs/manuals/...ction-0068.html
如果要通过yum升级CentOS4系统,则需要导入CentOS4.0:RHEL4的dag
rpm --import http://ftp.riken.jp/Linux/dag/packa...GPG-KEY.dag.txt
2.4 设置防火墙
安装完系统后,修改/etc/httpd/conf/httpd.conf,使web服务正常启用,为mysql添加root用户的密码。如果设置了防火墙,要打开如下端口:
Outbound ports (tcp)
25 - SMTP
110 - POP
143 - IMAP
783 - Spamassassin
993 - IMAPS
Inbound Ports (tcp)
22-SSH
25 - SMTP
80 - HTTP
110 - POP services
143 - IMAP
443 - HTTPS
783 - Spamassassin
993 - IMAPS
2.5 设置MySQL
启动mysql server:
/etc/rc.d/init.d/mysqld start
设置mysql root口令:
mysqladmin -u root password xukixu (设置你的密码)
mysql的头文件和库文件分别在/usr/include/mysql和/usr/lib/mysql。
2.6 卸载已有的邮件系统
确认没有SMTP/POP/IMAP服务在运行:
/etc/init.d/sendmail stop
netstat -na | grep 25
netstat -na | grep 110
netstat -na | grep 143
service sendmail stop
删除已有的SMTP/POP/IMAP软件:
rpm -e --nodeps sendmail
第三节:下载所需要的软件包 TOP
些篇文档所使用的软件清册如下:
qmail � 本文的主角,世界上使用最广的邮件系统之一。此处使用的是netqmail-1.05的补丁集和shupp.org的Toaster 7.0运行脚本
ucspi-tcp - ucspi-tcp软件包由一组工具组成。它们用来简单的建立客户机-服务器tcp后台程序
daemontools - 是inetd和winetd的代替品,用它来监听qmail-send,qmail-smtpd,qmail-pop3d
Vpopmail - 一个以qmail为基础的虚拟域管理包,其允许在一个IP地址添加多个虚拟域
iGenus - 大麻兄的作品,PHP编写的Webmail
iGenus_Admin -通过WEB添加域和帐号
Courier-imap -此邮件系统的IMAP模块
ezmlm � 一个快速,强大的邮件列表程序,可以通过qmailadmin对其进行配置
autorespond � 自动回复程序,可以很好的与qmailadmin配合使用
qmailadmin � 通过WEB管理vpopmail域的极好工具
vqadmin � 通过WEB添加域
SpamAssassin � 垃圾邮件防止,中文垃圾邮件清理就靠它了
Clamav - 一个免费的杀毒软件,此邮件系统的杀毒模块
MailDrop � 邮件过滤工具,比较难以使用,但是值得学会它
qmail-scanner � 一个扫描邮件队列的插件,其调用Clamav和SpamAssassin进行清除邮件病毒和垃圾邮件的动作
qmailanalog � 分析难以理解的qmail日志,并每晚给出报告
isoqlog - 一个qmail日志分析工具,可以分析和统计qmail的运行日志,并生成漂亮的HTML格式的报表
MRTG - 多路由器通信监视器(MRTG)是在网络链路上监控通信负载的一件工具
为了方便大家使用,我把下文中所提到的软件打成了一个包,下载地址为:
http://www.xuki.org/qmail_2.9.tar.gz
大部份的软件都是用的最新版(2005年4月),我也将会跟踪软件的发行来更新些安装指南。
那么下面让我们开始安装必须的软件:
#创建/home/pkg/目录
mkdir /home/pkg
cd home
#下载软件
wget http://www.xuki.org/qmail_2.9.tar.gz
#将软件解压缩到目录中
tar -zvf qmail_2.9.tar.gz
此安装指南中所使用的软件包有:
autorespond-2.0.5.tar.gz
clamav-0.83.tar.gz
courier-authlib-0.55.tar.bz2
courier-imap-4.0.2.tar.bz2
daemontools-0.76.errno.patch
daemontools-0.76.tar.gz
ezmlm-0.53.tar.gz
ezmlm-idx-0.42.tar.gz
igenus_2.0.2_20040901_release.tgz
igenus_admin_0.1.tgz
isoqlog-2.1.1.tar.gz
maildrop-1.8.0.tar.bz2
mrtg-2.10.15-1.i386.rpm
netqmail-1.05.tar.gz
perl-Razor-Agent-2.40-2.i386.rpm
perl-suidperl-5.8.5-12.1.1.i386.rpm
qlogtools_errno.patch qlogtools-3.1.tar.gz
qmailadmin-1.2.3.tar.gz
qmailanalog-0.70.errno.patch
qmailanalog-0.70.tar.gz
qmailmrtg7-4.0.tar.gz
qmail-scanner-1.25.tgz
qmail-toaster-0.7.2.patch.bz2
qms-analog-0.4.2.tar.gz
spamassassin-3.0.2-2.1.el3.rf.i386.rpm
squirrelmail-1.4.4.tar.gz
sqwebmail-5.0.1.tar.bz2
tnef-1.2.3.1.tar.gz
toaster-scripts-0.7.tar.gz
ucspi-tcp-0.88.errno.patch
ucspi-tcp-0.88.tar.gz
vpopmail-5.4.10.tar.gz
vqadmin-2.3.6.tar.gz
vqregister-2.6.tar.gz
#解压缩netqmail-1.05.tar.gz
chmod 755 -R pkg
cd pkg
tar -xzf netqmail-1.05.tar.gz
cd netqmail-1.05
./collate.sh
注意:./collate.sh这一步不要忘
第四节:安装qmail TOP
除非你确实熟悉各个软件和系统结构,否则请按照如下步骤一步一步安装软件,此文将引导你安装一套完整的邮件系统。这个安装过程基本上你只需要复制粘贴就可以完成。
安装daemontools
daemontools是一个收集管理UNIX进程的工具.用它来监听qmail-send,qmail-smtpd,qmail-pop3d.
参考:http://cr.yp.to/daemontools.html
#安装:
cd /home/pkg
tar -zxvf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
patch -p1 < /home/pkg/netqmail-1.05/other-patches/daemontools-0.76.errno.patch
package/install
# 验证daemontools已经正常运行:
sleep 5
ps ax | grep svscan
安装ucspi-tcp
ucspi-tcp软件包由一组工具组成。它们用来简单的建立客户机-服务器tcp后台程序。TcpServer是一个比inetd安全性更好的选择。它内建有基于规则的连接控制,能完善地在达到预定义的最大系统负载时将连接推迟,这点比 inetd好。Tcpserver也被推荐与qmail一同使用,因为它们是同一个作者编的程序。
参考:http://cr.yp.to/ucspi-tcp.html
#安装:
cd /home/pkg
tar zxvf ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
patch -p1 < ../ucspi-tcp-0.88.errno.patch
make
make setup check
安装qmail
参考:http://www.qmail.org
http://www.lifewithqmail.org/
这个toaster补丁,是下面这几个补丁的组合:
smtp auth (SMTP认证)
spf (发信人DNS检查)
qmail-queue (如果要使用病毒扫描引擎则需要这个补丁)
maildir++ patch
support oversize dns packets (not necessary if you use dnscache)
chkuser (检查本地vpopmail用户表,信头的语法,这个补丁需要在安装vpopmail后被安装。)
spam throttle
qregex (匹配badmailfrom和badmailto文件里的规则)
big concurrency (set the spawn limit above 255)
#安装:
#创建所需要的用户
mkdir /var/qmail
groupadd nofiles
useradd alias -g nofiles -d /var/qmail/alias -s /sbin/nologin
useradd qmaild -g nofiles -d /var/qmail -s /sbin/nologin
useradd qmaill -g nofiles -d /var/qmail -s /sbin/nologin
useradd qmailp -g nofiles -d /var/qmail -s /sbin/nologin
groupadd qmail
useradd qmailq -g qmail -d /var/qmail -s /sbin/nologin
useradd qmailr -g qmail -d /var/qmail -s /sbin/nologin
useradd qmails -g qmail -d /var/qmail -s /sbin/nologin
#顺便添加vpopmail用户
groupadd vchkpw -g 89
useradd vpopmail -u 89 -g vchkpw
#准备安装qmail
cd /home/pkg
tar -xzf toaster-scripts-0.7.tar.gz
cd netqmail-1.05/netqmail-1.05/
# 搜索函数straynewline中的451改为553
vi qmail-smtpd.c
# 当你的服务器收到无效格式的邮件时,会发送:"I am not going to accept that message at the moment,you can try again later",对方服务器收到后,几秒钟后又会发送同样的邮件给你,造成多次的重复。
# 改为553后,你的服务器将直接发送:"I am not going to accept that message,don't try sending it again.",告诉对方的服务器不要再发这封无效的信件。
# RedHat/Fedora用户可能需要为TLS补丁链接一个include文件
# 输入如下命令:
ln -s /usr/kerberos/include/com_err.h /usr/include/
# 删除sendmail的链接
rm -rf /usr/sbin/sendmail
#qmail编译安装
make
make setup check
#注:qmail的补丁在vpopmail安装之后再打。
# 用你自己的主机名代替下面的mail.domain.com
./config-fast mail.domain.com
#设置管理员的邮箱地址。
#发往root/postmaster/mailer-daemon地址的邮件将会由定义的管理员邮箱接收。
#将如下的"admin@domain.com"替换成你的管理员邮箱。
cd /var/qmail/alias
echo "admin@domain.com" > .qmail-postmaster
echo "admin@domain.com" > .qmail-mailer-daemon
echo "admin@domain.com" > .qmail-root
chmod 644 /var/qmail/alias/.qmail*
#开启SPF设置
echo ./Maildir/ >/var/qmail/control/defaultdelivery
echo 3 > /var/qmail/control/spfbehavior
#添加qmail的帮助手册
echo MANPATH /var/qmail/man >> /etc/man.config
#为qmail服务建立监控目录和日志文件:
mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log
mkdir -p /var/qmail/supervise/qmail-pop3d/log
mkdir -p /var/qmail/supervise/qmail-pop3ds/log
cp /home/pkg/toaster-scripts-0.7/send.run /var/qmail/supervise/qmail-send/run
cp /home/pkg/toaster-scripts-0.7/send.log.run /var/qmail/supervise/qmail-send/log/run
cp /home/pkg/toaster-scripts-0.7/smtpd.run /var/qmail/supervise/qmail-smtpd/run
cp /home/pkg/toaster-scripts-0.7/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
cp /home/pkg/toaster-scripts-0.7/pop3d.run /var/qmail/supervise/qmail-pop3d/run
cp /home/pkg/toaster-scripts-0.7/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
cp /home/pkg/toaster-scripts-0.7/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
cp /home/pkg/toaster-scripts-0.7/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run
echo 20 > /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming
chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
chmod 755 /var/qmail/supervise/qmail-pop3d/run
chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
chmod 755 /var/qmail/supervise/qmail-pop3ds/run
chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run
mkdir -p /var/log/qmail/smtpd
mkdir -p /var/log/qmail/pop3d
mkdir -p /var/log/qmail/pop3ds
chown -R qmaill /var/log/qmail
#启动脚本:
cd /home/pkg
cp toaster-scripts-0.7/rc /var/qmail/rc
chmod 755 /var/qmail/rc
cp toaster-scripts-0.7/qmailctl /var/qmail/bin/
chmod 755 /var/qmail/bin/qmailctl
ln -s /var/qmail/bin/qmailctl /usr/bin
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
rm -rf /usr/lib/sendmail
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
# 用daemontools来启动qmail-send和qmail-smtpd
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
#命令:
# 启动,停止,重启,查看队列等
qmailctl start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help
# 检查服务
netstat -an | grep 25
ps -ef | grep qmail
ps -efl | grep "service errors" | grep -v grep
#日志:
/var/log/maillog
/var/log/qmail/current
/var/log/qmail/pop3d/current
/var/log/qmail/pop3ds/current
/var/log/qmail/smtpd/current
我建议重新回顾一下刚才我们所做的步骤以熟悉对qmail的安装. 下面我们将开始vpopmail的安装.
第五节:安装vpopmail TOP
vpopmail是一个以qmail为基础的虚拟域管理包;其允许在一个IP地址添加多个虚拟域;并且可以不需要使用系统帐号做邮件帐号。
参考:http://vpopmail.sf.net
#创建目录:
mkdir -p /home/vpopmail/etc
# 设置默认域,红色部份改成你要设置的域。
echo "domain.com" > /home/vpopmail/etc/defaultdomain
# 设置smtp规则,关闭open relays
echo '127.0.0.1:allow,RELAYCLIENT=""' > /home/vpopmail/etc/tcp.smtp
cd /home/vpopmail/etc ; tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp
# 设置MySQL信息,第一个vpopmail是帐号,xukixu为密码,第二个vpopmail是数据库
echo "localhost|0|vpopmail|xukixu|vpopmail" > /home/vpopmail/etc/vpopmail.mysql
chmod 640 /home/vpopmail/etc/vpopmail.mysql
chown -R vpopmail.vchkpw /home/vpopmail/etc
# 在MySQL里添加vpopmail的帐号
mysql -uroot -pxukixu
CREATE DATABASE vpopmail;
GRANT select,insert,update,delete,create,drop ON vpopmail.*
TO vpopmail@localhost IDENTIFIED BY 'xukixu';
FLUSH PRIVILEGES;
QUIT
#安装:
cd /home/pkg/
tar zxvf vpopmail-5.4.10.tar.gz
cd vpopmail-5.4.10
# 带数据库支持
./configure --enable-incdir=/usr/include/mysql --enable-libdir=/usr/lib/mysql --disable-roaming-users --enable-logging=p --disable-passwd --enable-clear-passwd --disable-domain-quotas --enable-auth-module=mysql --enable-auth-logging --enable-sql-logging --disable-valias --disable-mysql-limits --enable-learn-passwords
make
make install-strip
#管理:
echo 'export PATH=$PATH:/home/vpopmail/bin' >> /etc/profile
source /etc/profile
# 添加域,红色部份前面是域名,后面是管理员(postmaster)密码
vadddomain domain.com xukixu
# 添加用户,红色部份为注解,不用输入
vadduser -q 10485760S(邮箱大小) xukixu@domain.com(邮箱帐号) 1234(密码)
vmoduser -c 许靖(邮箱描述) xukixu@domain.com
# 设置邮箱容量达到90%的警告信息
vi /home/vpopmail/domains/.quotawarn.msg
From: 邮箱管理员
Reply-To: postmaster@domain.com
To: 邮箱用户
Subject: 邮箱空间警告
Mime-Version: 1.0
Content-Type: text/html; charset=gb2312
Content-Transfer-Encoding: base64
您的邮箱空间已经达到90%.如果想继续使用,请删除一些信件.
如果需要帮助,请联系邮箱管理员:
Email : postmaster@domain.com
# 设置邮箱已满的警告信息
echo "邮件被拒绝,用户的邮箱空间已满." > /home/vpopmail/domains/.over-quota.msg
#启动脚本:
cp /home/pkg/toaster-scripts-0.7/vpopmailctl /var/qmail/bin
ln -s /var/qmail/bin/vpopmailctl /usr/bin
chmod 755 /var/qmail/bin/vpopmailctl
#现在打上qmail的补丁:
cd /home/pkg/netqmail-1.05/netqmail-1.05
bunzip2 -c /home/pkg/qmail-toaster-0.7.2.patch.bz2 | patch -p0
make clean
make
qmailctl stop
make setup check
chown -R vpopmail:vchkpw /var/qmail/spam
#创建SSL Key
make cert
#按提示输入公司信息
[root@mail netqmail-1.05]# make cert
Generating a 1024 bit RSA private key
.............++++++
...............++++++
writing new private key to '/var/qmail/control/servercert.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:CN
State or Province Name (full name) [Berkshire]:GD
Locality Name (eg, city) [Newbury]:SZ
Organization Name (eg, company) [My Company Ltd]:Domain
Organizational Unit Name (eg, section) []:Domain
Common Name (eg, your name or your server's hostname) []:domain.com
Email Address []:xukixu@domain.com
make tmprsadh
#注:这里可能要多等一会
chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem
# 用"crontab -e"在crontab里增加下面这条,每天晚上更新temp keys
01 01 * * * /var/qmail/bin/update_tmprsadh > /dev/null 2>&1
#起动qmail
qmailctl start
# 用daemontools来启动qmail-pop3d和qmail-pop3ds
ln -s /var/qmail/supervise/qmail-pop3d /service
ln -s /var/qmail/supervise/qmail-pop3ds /service
#命令:
# 启动,停止,重启,查看队列等
vpopmailctl start|stop|restart|stat|pause|cont|help
# 检查服务
netstat -an | grep 110
ps -ef | grep qmail
ps -efl | grep "service errors" | grep -v grep
安装选项参考:
vpopmail 5.4.10
Current settings
---------------------------------------
vpopmail directory = /home/vpopmail
uid = 89
gid = 89
roaming users = OFF --disable-roaming-users (default)
password learning = ON --disable-learn-passwords (default)
md5 passwords = ON --enable-md5-passwords (default)
file locking = ON --enable-file-locking (default)
vdelivermail fsync = OFF --disable-file-sync (default)
make seekable = ON --enable-make-seekable (default)
clear passwd = ON --enable-clear-passwd (default)
user dir hashing = ON --enable-users-big-dir (default)
address extensions = OFF --disable-qmail-ext (default)
ip alias = OFF --disable-ip-alias-domains (default)
domain quotas = OFF --disable-domainquotas (default)
auth module = mysql --enable-auth-module=mysql
mysql replication = OFF --disable-mysql-replication (default)
sql logging = ON --enable-sql-logging
mysql limits = OFF --disable-mysql-limits (default)
MySQL valias = OFF --disable-valias (default)
auth inc = -I/usr/include/mysql
auth lib = -L/usr/lib/mysql -lmysqlclient -lz -lm
system passwords = OFF --disable-passwd (default)
pop syslog = show failed attempts with clear text password
--enable-logging=p
auth logging = ON --enable-auth-logging (default)
all domains in one SQL table = --enable-many-domains (default)
#POP3和SMTP测试
用outlook测试qmail的smtp和pop3是否正常,注意由于vpopmail支持虚拟域名,所以在outlook中设置邮件帐号时,用户名后要加上域名,如demo@demo.com。smtp是带认证的,在outlook中也要作相应设置。建议先测试正常后再进行下一步安装。如果qmail出现问题,可查看mysql中的vpopmail数据库,/var/log下的mysqld和maillog日志记录,这样容易很快找出问题。
第六节:安装iGenus(可选) TOP
iGENUS 不是一套独立的邮件系统,只是一个 Webmail 接口,需要配合 qmail+vpopmail+Mysql 使用。iGENUS 是由 PHP 写成,采用直接对 qmail 的 Maildir 进行读写操作,因而比 IMAP/POP 方式更快一点。
参考:http://www.igenus.org
#安装:
cd /home/pkg
tar zxvf igenus_2.0.2_20040901_release.tgz -C /var/www/
cd /var/www/
rm -rf html/
mv igenus html
#建temp文件夹
mkdir /tmp/temp
chmod -R 0755 /tmp/temp
chown -R vpopmail:vchkpw /tmp/temp
mkdir /home/netdisk
chmod -R 0755 /home/netdisk
chown -R vpopmail:vchkpw /home/netdisk
chmod -R 0755 /var/www/html/
chown -R vpopmail:vchkpw /var/www/html/
#修改httpd.conf
vi /etc/httpd/conf/httpd.conf
User vpopmail
Group vchkpw
DocumentRoot "/var/www/html/"
AddDefaultCharset GB2312 //使默认页面为中文
/etc/rc.d/init.d/httpd restart //重启apache,使修改生效
#修改config_inc.php文件
cd /var/www/html/config
vi config_inc.php
$CFG_BASEPATH = "/var/www/html/"; \\改成你安装的目录
$CFG_MYSQL_HOST = 'localhost';
$CFG_MYSQL_USER = 'vpopmail'; \\vpopmail访问mysql的帐号
$CFG_MYSQL_PASS = 'xukixu'; \\vpopmail访问mysql的密码
$CFG_MYSQL_DB = 'vpopmail'; \\数据库
$CFG_TEMP = "/tmp/temp"; \\删除$CFG_BASEPATH,并修改路径
#重新编制Mysql数据库表格
#删除之前创建的域名
vdeldomain domain.com
#编辑数据库:
mysql -uroot -pxukixu
use vpopmail;
drop table lastauth;
drop table vpopmail;
quit;
#编辑/var/www/html/docs/iGENUS.sql
vi /var/www/html/docs/iGENUS.sql
# phpMyAdmin SQL Dump
# version 2.5.3
# http://www.phpmyadmin.net
#
# Host: localhost
# Generation Time: Jun 04, 2004 at 11:26 AM
# Server version: 3.23.55
# PHP Version: 4.3.0
#
# Database : `vpopmail`
#
# --------------------------------------------------------
#
# Table structure for table `address`
#
use vpopmail; //加入这一行
CREATE TABLE `address` (
`id` int(11) unsigned NOT NULL auto_increment,
`pw_id` int(5) NOT NULL default '0',
`name` varchar(64) NOT NULL default '',
`email` varchar(128) NOT NULL default '',
UNIQUE KEY `id` (`id`),
KEY `pw_id` (`pw_id`)
) TYPE=MyISAM PACK_KEYS=1 ;
# --------------------------------------------------------
。。。。。。。。。
。。。。。。。。。。
CREATE TABLE `vpopmail` (
`pw_id` int(5) unsigned NOT NULL auto_increment,
`pw_name` varchar(32) NOT NULL default '',
`pw_domain` varchar(64) NOT NULL default '',
`pw_passwd` varchar(40) NOT NULL default '',
`pw_uid` int(11) default NULL,
`pw_gid` int(11) default NULL,
`pw_gecos` varchar(48) default NULL,
`pw_dir` varchar(255) default NULL,
`pw_shell` varchar(20) default NULL,
`pw_clear_passwd` varchar(16) default NULL, \\加入这一行
`createtime` timestamp(14) NOT NULL,
PRIMARY KEY (`pw_id`),
KEY `pw_name` (`pw_name`,`pw_domain`)
) TYPE=MyISAM PACK_KEYS=1 ;
#运行如下命令导入数据表
mysql -uroot -pxukixu

#设置igenus 定义允许上传下载的邮件的大小
#编辑/etc/php.ini
vi /etc/php.ini
max_execution_time=60
memory_limit=20M
post_max_size = 10M
file_uploads=on
upload_max_filesize=10M
register_globals=On
session.bug_compat_42=0
session.bug_compat_warn=0
sendmail_path = /var/qmail/bin/qmail-inject
#编辑/etc/http/conf/httpd.conf
vi /etc/httpd/conf/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.html
NameVirtualHost *:80
ServerName mail.domain.com
DocumentRoot /var/www/html
chmod 777 /var/lib/php/session/ -R
#重启apache:
service httpd restart
#如果需要,用vadddomain和vadduser添加新域名和新用户。
最后打开浏览器,输入http://domain.com/,就可以访问网站了。
第七节:安装iGenus_Admin(可选) TOP
一个基于Web的vpopmail域和帐号管理工具。
参考:http://www.igenus.org
#安装
cd /home/pkg
tar -xzvf igenus_admin_0.1.tgz -C /var/www/html/
#设置
vi /var/www/html/admin/includes/config_inc.php

/*-
* iGENUS webmail
*
* Copyright (c) 1999-2002 by iGENUS Org.
* All rights reserved.
* Author: Wu Qiong
*
* $Id: config_inc.php,v 1.11 2004/03/23 13:59:12 wuqiong Exp $
*/
if(!defined("INCLUDE_CONFIG_OK")) {
define("INCLUDE_CONFIG_OK","TRUE");
/* gid flags defind by vpopmail.h */
// define('NO_PASSWD_CHNG',0x01);
define('NO_POP', 0x02);
define('NO_WEBMAIL', 0x04);
// define('NO_IMAP', 0x08);
// define('BOUNCE_MAIL', 0x10);
// define('NO_RELAY', 0x20);
// define('NO_DIALUP', 0x40);
// define('V_USER0', 0x080);
// define('V_USER1', 0x100);
// define('V_USER2', 0x200);
// define('V_USER3', 0x400);
define('NO_SMTP', 0x800);
// define('QA_ADMIN', 0x1000);
$CFG_VPOPMAIL_HOST = "localhost";
$CFG_VPOPMAIL_USER = "vpopmail"; \\改为你的帐号
$CFG_VPOPMAIL_PASS = "xukixu"; \\改为你的密码
$CFG_VPOPMAIL_DB = "vpopmail";
$CFG_VPOPMAIL_TABLE = "vpopmail";
$CFG_ADMIN_TABLE = "admin";
$CFG_LAGESITE = true;
$CFG_NUMOFPAGE = 20;
$CFG_MAILBOX['inbox'] = ".";
$CFG_MAILBOX['outbox'] = ".Outbox";
$CFG_MAILBOX['draft'] = ".Draft";
$CFG_MAILBOX['trash'] = ".Trash";
$CFG_VPOPMAIL_PATH = "/home/vpopmail"; \\改为你的vpopmail安装目录 
// $CFG_VPOPMAIL_PATH = "/home2/vpopmail";
$CFG_SYSADMIN_NAME = "Admin";
$CFG_SYSADMIN_PASSWD= '$1$GvmONIco$0SwBB.mEoP3KJ5Zda7ioV0';
$CFG_SYSADMIN_PASSWD_FILE = $CFG_VPOPMAIL_PATH . "/etc/syspasswd.dat";
$CFG_TIMEOUT = 600;
$CFG_IGENUS_ADM = "iGENUS邮件系统管理";
$CFG_TEMPLATE_PATH = "template/";
}
?>
#保存退出
touch /etc/syspasswd.dat
chown -R vpopmail.vchkpw /var/www/html
chmod -R 755 /var/www/html
#登录设置页面
http://domain.com/admin/sys/
用户:Admin密码Admin来登录.注意A要大写..这个管理帐号密码登录后可以改的
登录后,首先点"更新数据库"你就会看见你的域名.然后点"编辑"把"登录权限 该域管理员(Postmaster)有权登录进行用户管理"这一项打勾,确认后,就可以用
http://domain.com/admin/
来登录管理了。
第八节:安装courier-imap TOP
Courier-IMAP支持IMAP/SIMAP访问
参考:http://www.inter7.com/courierimap
courier-imap 从 4版本开始,把 courier-authlib 独立出来了,需要先安装 courier-authlib. 具体步骤:
cd /home/pkg
tar -xjvf courier-authlib-0.55.tar.bz2
cd courier-authlib-0.55
./configure --prefix=/usr/local --exec-prefix=/usr/local --with-authvchkpw --without-authldap --without-authmysql --disable-root-check --with-ssl --with-authchange pwdir=/usr/local/libexec/authlib --with-redhat
make
make install
make install-configure
#修改设置文件:/usr/local/etc/authlib/authdaemonrc,去掉不需要的认证模式,只留vchkpw方式,然后认证进程改成2个
#完成后启动它:
/usr/local/sbin/authdaemond start
#需要把这个脚本放到/etc/init.d, 然后在/etc/rc3.d 或/etc/rc5.d做一个符号连接,以便系统启动时自动运行。
#启动后,在内存中可以看到2个authlib进程:
ps -aef |grep authlib
root 20108 20107 0 Jan28 ? 00:00:00 /usr/local/libexec/courier-authlib/authdaemond
root 20109 20108 0 Jan28 ? 00:00:00 /usr/local/libexec/courier-authlib/authdaemond
#这里可以想办法把运行身份改成vpopmail,毕竟用root运行,如果出现问题影响范围会大很多。
#测试是否正常:
运行/usr/local/sbin/authtest:(红字为输入内容,后面的1121221应该是pop3密码,后面部分应该是命令结果)
authtest xukixu@domain.com 1121221
Authenticated: xukixu@domain.com (uid 509, gid 509)
Home Directory: /var/vpopmail/domains/domain.com/xukixu
Maildir: (none)
Quota: (none)
Encrypted Password: $1$LJjMeeeeqqeqF9VWUywtLV/O5ciqeg.
Cleartext Password: xukixu
Options: disablewebmail=0,disablepop3=0,disableimap=0
#出现上面的提示就是说authlib运行正常
#下面来安装courier-imap
cd /home/pkg
tar -xjf courier-imap-4.0.2.tar.bz2
cd courier-imap-4.0.2
# 作为vpopmail用户进行安装
chown -R vpopmail:vchkpw ../courier-imap-4.0.2
su vpopmail
./configure --with-redhat
# 注:Redhat用户需要使用"--with-redhat"选项
make
exit
make install-strip
make install-configure
cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imap
chmod 755 /etc/rc.d/init.d/courier-imap
chkconfig --add courier-imap
#配置:
# 修改文件/usr/lib/courier-imap/etc/authdaemonrc,如果没有,则链接/usr/local/etc/authlib/authdaemonrc
authmodulelist="authvchkpw"
# 修改文件/usr/lib/courier-imap/etc/imapd
IMAPDSTART=YES
# 修改文件/usr/lib/courier-imap/etc/imapd-ssl
IMAPDSSLSTART=YES
# 修改文件/usr/lib/courier-imap/etc/imapd.cnf
CN=domain.com
emailAddress=postmaster@domain.com
# 修改文件/usr/lib/courier-imap/etc/pop3d.cnf
CN=domain.com
emailAddress=postmaster@domain.com
#启动:
/etc/rc.d/init.d/courier-imap start
#使用outlook测试一下IMAP是否正常
第九节:安装SquirrelMail(可选) TOP
SquirrelMail 是一个PHP编写的IMAP客户端,在安装SquirrelMail之前,要确保你的IMAP正常运行。
参考: http://www.squirrelmail.org/
#安装
cd /home/pkg
tar -xzvf squirrelmail-1.4.4.tar.bz
cd squirrelmail-1.4.4
cd plugins
tar -xzf ../../quota_usage-1.3-1.2.7.tar.gz
cp quota_usage/config.php.sample quota_usage/config.php
cd ../
./configure
# 你将要设置如下选项
#选择 "2. Server Settings"=>"A. Update IMAP Settings"=>"8. Server software"改成"courier";回到主菜单,选择"4.General Options"=>"1. Data Directoryand"改成"/var/www/data/";再退回主菜单,选择"8. Plugins"=>添加你希望用到的插件。回到主菜单,选择"10. Languages",将" Default Language"改成"zh_CN","Default Charset"改成"GB2312"。保存退出。
mv data /var/www/
chown -R vpopmail.vchkpw /var/www/data
cd ../
mv squirrelmail-1.4.4 /var/www/html/squirrelmail
#登录http://domain.com/squirrelmail 验证是否安装成功。
第十节:安装SqwebMail(可选) TOP
Sqwebmail同SquirrelMail一样,也是一个基于IMAP客户端的webmail,在安装它之前,同样要确保IMAP服务运行正常.
参考:www.courier-mta.org/sqwebmail/  
安装sqwebmail后,如果希望在webmail上直接修改密码,则需要安装如下两个RPM包:
cd /home/pkg
rpm -Uvh expect-5.42.1-1.i386.rpm tcl-8.4.7-2.i386.rpm
#下面开始安装sqwebmail
cd /home/pkg
tar -xjvf sqwebmail-5.0.1.tar.bz2
cd sqwebmail-5.0.1
./configure --enable-webpass=vpopmail --enable-softtimeout=300 --enable-autopurge=10 --enable-maxpurge=30 --enable-mimecharset=gb2312 --with-maxargsize=5000000 --with-maxformargsize=5000000 --with-maxmsgsize=5000000 --without-ispell --without-authshadow --without-authmysql --without-authldap --without-authuserdb --without-authpwd --without-authpam --with-authvchkpw --without-authdaemon --enable-unicode --enable-hardtimeout=14400 --enable-softtimeout=3600 --enable-webpass=yes  
make configure-check
umask 220
make
make check
make install-strip
make install-configure
#完成后,启动脚本在/usr/local/sqwebmail/libexec/sqwebmaild.rc,要把它放到/etc/init.d,并且让他启动时运行
/usr/lib/sqwebmail/libexec/sqwebmaild.rc start
su -c "/usr/lib/sqwebmail/share/sqwebmail/cleancache.pl"  
cp /usr/lib/sqwebmail/libexec/sqwebmaild.rc /etc/init.d/sqwebmaild
chmod 755 /etc/init.d/sqwebmaild  
ln -s /etc/init.d/sqwebmaild /etc/rc.d/rc3.d/S89sqwebmaild
ln -s /etc/init.d/sqwebmaild /etc/rc.d/rc5.d/S89sqwebmaild  
#用"crontab -e"在crontab里增加下面这条,定时清除cache
crontab -e
*/30 * * * *su -c "/usr/lib/sqwebmail/share/sqwebmail/cleancache.pl"
#登录http://domain.com/cgi-bin/sqwebmail 验证是否安装成功。
第十一节:安装Wmail(可选) TOP
Wmail其实就是sqwebmail,只不过作者进行了一下汉化和修改了HTML模板而已.
第十二节:安装Autorespond&Ezmlm TOP
autorespond是一个自动回复工具,可以很好的与qmailadmin配合使用
#安装:
cd /home/pkg
tar -xvzf autorespond-2.0.5.tar.gz
cd autorespond-2.0.5
make
make install
安装Ezmlm
exmlm是一个快速,强大的邮件列表程序,可以通过qmailadmin对其进行配置
#安装:
cd /home/pkg
tar -xvzf ezmlm-0.53.tar.gz
tar -xvzf ezmlm-idx-0.42.tar.gz
cp -rf ezmlm-idx-0.42/* ezmlm-0.53/
cd ezmlm-0.53
patch < idx.patch
chmod u+x makelang
make
make man
#汉字GB2312支持
make ch_GB
make setup
第十三节:安装qmailadmin TOP
qmailadmin除了不能添加删除虚拟域外,几乎可以完成所有的虚拟域管理
#安装:
cd /home/pkg
tar -xvzf qmailadmin-1.2.3.tar.gz
cd qmailadmin-1.2.3
./configure --enable-htmldir=/var/www/html --enable-cgibindir=/var/www/cgi-bin --enable-vpopuser=vpopmail --enable-autoresponder-bin=/usr/bin --disable-ezmlm-mysql --enable-maxusersperpage=20 --enable-maxaliasesperpage=20 --enable-modify-quota --enable-domain-autofill
make
make install-strip
cd /usr/local/share/qmailadmin/lang
mv en en.bak
cp zh-cn en
安装选项参考:
qmailadmin 1.2.3
Current settings
---------------------------------------
cgi-bin dir = /var/www/cgi-bin
html dir = /var/www/html
image dir = /var/www/html/images/qmailadmin
image URL = /images/qmailadmin
template dir = /usr/local/share/qmailadmin
qmail dir = /var/qmail
vpopmail dir = /home/vpopmail
autorespond dir = /usr/bin
ezmlm dir = /var/qmail/bin/ezmlm
ezmlm idx = yes
mysql for ezmlm = no
help = no
modify quota = yes
domain autofill = yes
modify spam check = no
第十四节:安装Vqregister(可选) TOP
vqregister是vqsignup的升级版本,提供qmail邮箱注册功能。
#解压缩
cd /home/pkg
tar zxvf vqregister-2.6.tar.gz
#进入vqregister-2.6安装目录
cd vqregister-2.6
#修改安装配置文件Makefile
vi Makefile
#找到这几行
DEFS = -I$(VDIR)/include -I/usr/local/mysql/include
LIBS = -L$(VDIR)/lib -lvpopmail -lcrypt -L/usr/local/mysql/lib/mysql -lmysqlclient
INSTALL_DIR = /usr/local/apache/cgi-bin/vqregister

#将它们改成实际路径,这里是
DEFS = -I$(VDIR)/include -I/usr/include/mysql
LIBS = -L$(VDIR)/lib -lvpopmail -lcrypt -L/usr/lib/mysql -lmysqlclient
INSTALL_DIR = /var/www/cgi-bin/vqregister
#编译安装
make all install clean
#安装完成后需要编辑vqregister的配置文件
cd /var/www/cgi-bin/vqregister
vi vqregister.conf
#修改下面几项
# 设置管理信息
AdminEmail postmaster@domain.com
# 设置邮箱使用的域名
AllowDomain domain.com
#RegisterUser vQregister
# 设置数据库选项
DB_Name vpopmail
DB_User vpopmail
DB_Password xukixumysql
#其它项目可根据注释修改,不改也行,直接保存即可。
#可以根据需要修改vqregister.email,此文件为用户注册后发送给用户的邮件。
#/var/www/cgi-bin/vqregister/html中的文件为vqregister的网页模板,可根据需要汉化和修改。
#测试vqregister:
#在浏览器地址栏输入http://domain.com/cgi-bin/vqregister/vqregister.cgi ,按要求添入注册信息,提交后显示注册成功信息,证明你的vqregister安装成功!如果出现错误,请按提示检查注册信息或检查vqregister.conf文件。
第十五节:安装vQadmin TOP
vqadmin是一个基于web 的控制通道. 它允许系统管理员可以执行root用户才能进行的操作.
#安装
cd /home/pkg
tar -zxf vqadmin-2.3.6.tar.gz
cd vqadmin-2.3.6
vi db_owner.c
static const char *host="localhost";
static const char *user="vpopmail";
static const char *passwd="xukixu"; /* NULL for no password */
static const char *db="vpopmail";
./configure
make
make install
#现在我们需要将下面几行添加到httpd.conf文件中:
vi /etc/httpd/conf/httpd.conf
deny from all
Options ExecCGI
AllowOverride AuthConfig
Order deny,allow
#保存文件并退出.
cd /var/www/cgi-bin/vqadmin
chown nobody .htaccess
chmod 600 .htaccess
# 创建一个管理帐号及密码
htpasswd -bc /etc/httpd/conf/vqadmin.passwd admin(帐号) adminpass(密码)
chown vpopmail.vchkpw /etc/httpd/conf/vqadmin.passwd
chmod 644 /etc/httpd/conf/vqadmin.passwd
chown -R vpopmail.vchkpw /var/www/cgi-bin
#编辑.htaccess
vi .htaccess
AuthType Basic
AuthUserFile /etc/httpd/conf/vqadmin.passwd
, , AuthName vQadmin
require valid-user
satisfy any
#重启Apache
service httpd restart
在你的浏览器上测试一下安装结果:
http://www.domain.com/cgi-bin/vqadmin/vqadmin.cgi
第十六节:安装SpamAssassin TOP
Spam是一个让人讨厌的字眼. 大部分的人都不喜欢它. 如果你想保护自己免受spam, 你就需要安装SpamAssassin.
因我在安装系统的时候已经选择好了SpamAssassin。现在我们将其升级到最新版:
cd /home/pkg
rpm -Uvh spamassassin-3.0.2-2.1.el3.rf.i386.rpm
还需要安装另外一个软件包:
rpm -Uvh perl-Razor-Agent-2.40-2.i386.rpm
#修改起动脚本使spamassassin支持vpopmail
#修改如下一行:
vi /etc/init.d/spamassassin
SPAMDOPTIONS="-d -c -m5 -H -x -u spamd -v"
vi /etc/sysconfig/spamassassin
SPAMDOPTIONS="-d -c -m5 -H -x -u spamd -v"
下图是我在安装SpamAssassin时所列出的perl模块,SpamAssassin所要用到的一些Perl模块是:
perl-Time-HiRes
perl-Digest-SHA1
perl-HTML-Parser
perl-DB_File
perl-HTML-Tagset
perl-Razor-Agent
perl-DBI
perl-Net-DNS
perl-URI
这些模块请安装上。
#spamassassin的过滤模板在/etc/mail/spamassassin/local.cf,修改为:
vi /etc/mail/spamassassin/local.cf
required_score 5.0
rewrite_header Subject ********SPAM********
report_safe 1
use_bayes 1
skip_rbl_checks 0
ok_languages zh en
ok_locales en ko
score HEAD_ILLEGAL_CHARS 0
score SUBJ_ILLEGAL_CHARS 0
score DATE_IN_PAST_03_06 0
score UPPERCASE_25_50 0
score UPPERCASE_50_75 0
score UPPERCASE_75_100 0
score X_MSMAIL_PRIORITY_HIGH 0
score X_PRIORITY_HIGH 0
score TO_TXT 100
score RATWARE_HASH_2 100
score RATWARE_HASH_2_V2 100
score BAYES_99 0.1
score BAYES_80 0.1
score BAYES_60 0.1
score FROM_ILLEGAL_CHARS 0.1
score MIME_BASE64_TEXT 0.1
score NO_RDNS_DOTCOM_HELO 0.1
score CHINA_HEADER 0.1
score NO_REAL_NAME 0.2
score HTML_MESSAGE 0.2
score MIME_HTML_ONLY 0.2
score MIME_HTML_ONLY_MULTI 0.2
score FORGED_MUA_OUTLOOK 0.2
score FORGED_HOTMAIL_RCVD 0.2
score FORGED_OUTLOOK_TAGS 0.2
score MAILTO_TO_SPAM_ADDR 0.2
#黑白名单
whitelist_from *@domain.com
# ---------------------------------------------------------------------------
# 使用中国反垃圾邮件联盟的CBL/CDL
# URL: http://www.anti-spam.org.cn/
header RCVD_IN_CBL eval:check_rbl('cbl', 'cbl.anti-spam.org.cn.')
describe RCVD_IN_CBL Received via a relay in cbl.anti-spam.org.cn
tflags RCVD_IN_CBL net
header RCVD_IN_CDL eval:check_rbl('cdl-notfirsthop', 'cdl.anti-spam.org.cn.')
describe RCVD_IN_CDL CDL: dialup sender did non-local SMTP
tflags RCVD_IN_CDL net
#SCORE
score RCVD_IN_CBL 4.0
score RCVD_IN_CDL 3.0
#运行ntsysv,将spamassassin设定的为开机运行
#使用CCERT 中文垃圾邮件过滤规则集Chinese_rules.cf
wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf
#启动SpamAssassin
service spamassassin start
#定期自动更新中文反垃圾邮件规则
crontab �e
#加入
0 0 1 * * wget -N -P /usr/share/spamassassin http://www.ccert.edu.cn/spam/sa/Chi....d/spamassassin restart;/etc/init.d/spamassassin restart;
#建立SpamAssassin的学习系统
sa-learn --sync -D -p user_prefs
#查看自学习的数据信息
sa-learn --dump all
#查看调试信息
spamassassin --lint �D
第十七节:安装Clamav TOP
#添加所需的组和用户
groupadd clamav
useradd -g clamav -s /bin/false clamav
#安装软件
cd /home/pkg
tar -xzvf clamav-0.83.tar.gz
cd clamav-0.83
./configure --disable-zlib-vcheck
make check
make install
#测试Clamav
clamscan --recursive --log=/tmp/clamscan.log ./ //扫描当前目录,测试clamscn是否运行
cat /tmp/clamscan.log
#更改/usr/local/etc/freshclam.conf文件,去掉下面选项前面的#:
vi /usr/local/etc/freshclam.conf
#Example \\前面加上#
UpdateLogFile /var/log/freshclam.log \\去掉前面的#
LogSyslog \\去掉前面的#
PidFile /var/run/freshclam.pid \\去掉前面的#
更改/usr/local/etc/clamd.conf文件,去掉下面选项前面的#:
vi /usr/local/etc/clamd.conf
#Example \\前面加上#
LogFile /var/log/clamav/clamd.log \\去掉前面的#
LogFileMaxSize 2M \\去掉前面的#
LogTime \\去掉前面的#
PidFile /var/run/clamd.pid \\去掉前面的#
LogSyslog \\去掉前面的#
ScanMail \\去掉前面的#
touch /var/log/freshclam.log
chmod 644 /var/log/freshclam.log
chown clamav:clamav /var/log/freshclam.log
mkdir /var/lib/clamav
chown clamav:clamav /var/lib/clamav
#升级clamscan病毒库
freshclam --verbose
#把freshclam加入crontab 定时更新病毒库,自动扫描/home目录
crontab -e
0 1 * * * freshclam --quiet -l /var/log/freshclam.log
0 6 * * * /usr/local/bin/clamscan --recursive --infected --exclude /usr/local/share/clamav/viruses.db --exclude /usr/local/share/clamav/viruses.db2 --log=/var/log/clamscan.log /home
#创建freshclam日志记录文件
mkdir -p /var/log/clamav
touch /var/log/clamav/clamd.log
chown clamav.clamav -R /var/log/clamav/
chmod 644 -R /var/log/clamav/
#创建clamav启动脚本
vi /etc/rc.d/init.d/clamav
#!/bin/sh
#
# Startup / shutdown script for Clam Antivirus
case "$1" in
start)
/usr/local/sbin/clamd && echo -n 'Clamd started'
/usr/local/bin/freshclam -d -c 2 -l /var/log/freshclam.log
echo -n ' freshclam started'
;;
stop)
/usr/bin/killall clamd > /dev/null 2>&1 && echo -n 'Clamd stoped'
/usr/bin/killall freshclam > /dev/null 2>&1 && echo -n ' freshclam Stoped'
;;
*)
echo ""
echo "Usage: `basename $0` { start | stop }"
echo ""
exit 64
;;
esac
#使其能够执行
chmod 755 /etc/init.d/clamav
#随开机起动
ln -s /etc/init.d/clamav /etc/rc.d/rc3.d/S88clamav
ln -s /etc/init.d/clamav /etc/rc.d/rc5.d/S88clamav
第十八节:安装MailDrop 和TNEF reader TOP
TNEF是一个从"application/ms-tnef". 类型中找出MIME附件的程序.这仅仅是微软系统中的一种附件.TNEF程序允许将封装成TNEF的附件提取出来. 安装TNEF并不是必须的, 但我强烈推荐安装它!
# 安装 maildrop
cd /home/pkg
tar -xjvf maildrop-1.8.0.tar.bz2
cd maildrop-1.8.0
./configure
make
make install-strip
make install-man
# 安装 the tnef
cd /home/pkg
tar -xzvf tnef-1.2.3.1.tar.gz
cd tnef-1.2.3.1
./configure
make
make install
#使用Maildrop调用SpamAssassin
#在/home/vpopmail/domains/localhost.com(你创建的域)/ 建立mailfilter文件
touch mailfilter
chown vpopmail:vchkpw mailfilter
chmod 700 mailfilter
vi mailfilter
#mailfilter内容如下:
VHOME=`/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`
VSPAM=`/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`
`test -d $VHOME/Maildir/`
if( $RETURNCODE != 0 )
{
echo "Sorry , but the user $EXT@$HOST dos not exist"
EXITCODE=77
exit
}
if ( $SIZE < 262144 )
{
exception {
xfilter "/usr/bin/spamc -f -u $EXT@$HOST"
}
}
if (/^X-Spam-Flag: YES/)
{
to "$VSPAM/Maildir/.Trash/."
EXITCODE=0
}
else
{
to "$VHOME/Maildir/."
}
#修改.qmail-default内容如下:
vi .qmail-default
| preline /usr/local/bin/maildrop mailfilter
第十九节:安装qmail-scanner&qms-analog TOP
为了能够扫描邮件服务器中进出的邮件, 我们需要安装 qmail-scanner. 如果你之前没有安装perl-suidperl,我们还需要安装它
cd /home/pkg
rpm -Uvh perl-suidperl-5.8.5-12.1.1.i386.rpm
#解开qmail-scanner...
tar zxvf qmail-scanner-1.25.tgz
#解压qms-analog...
tar zxvf qms-analog-0.4.2.tar.gz
cd qms-analog-0.4.2
make all
#下一步,我们拷贝所需要的qms-analog文件到qmail-scanner安装目录
cp qmail-scanner-1.25-st-qms-20050219.patch /home/pkg/qmail-scanner-1.25
#现在,让我们打上qms-analog补丁
cd /home/pkg/qmail-scanner-1.25
patch -p1 < qmail-scanner-1.25-st-qms-20050219.patch
#继续安装qmail-scanner,添加所需的组和用户
groupadd qscand
useradd -g qscand -s /bin/false qscand
#我们通过qms-config-script脚本来安装qmail-scanner,编辑qms-config-script
vi qms-config
#修改下面红色部份以达到我们的需求:
./configure --domain domain.com \
--admin postmaster \
--local-domains "domain.com" \
--add-dscr-hdrs yes \
--dscr-hdrs-text "X-Antivirus-MYDOMAIN" \
--ignore-eol-check yes \
--sa-quarantine 0 \
--sa-delete 0 \
--sa-reject no \
--sa-subject ":SPAM:" \
--sa-alt yes \
--sa-debug no \
--notify admin \
--redundant yes \
--qms-monitor no \
--lang en_GB \
--debug no \
--unzip yes \
--scanners clamscan,verbose_spamassassin \
"$INSTALL"
#注意: "--admin" 和 "--domain" 参数组成了帐号"user"@"domain name". 警告消息将通过qmail-scanner 发往这个邮件帐号, 所以必须确认这是一个管理级别的帐号. 另外,所有域的警告信息都会发给这个帐号, 所以一定要小心.
#保存并退出。
#现在我们测试qmail-scanner安装
chmod 755 qms-config
./qms-config
#在第一步时, 按y 允许qmail-scanner提前configure. 第二步时, 按y,建立 qmail-queue-scanner.pl 文件.
#测试如果没有错误 ,就可以进行下一步安装
./qms-config install
#看看/var/qmail/bin/qmail-scanner-queue.pl是否存在
chown qscand:qscand /var/qmail/bin/qmail-scanner-queue.pl
chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl
#然后用一个普通用户登陆,执行/var/qmail/bin/qmail-scanner-queue.pl -z
#如果没有Can't do setuid出现,安装OK
setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -z
#查看qmailscan当前包含的特征
setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -r
#保存qmailscan定义特征的修改,使他生效。
setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -g
chown qscand:qscand /var/qmail/bin/qmail-scanner-queue.pl
chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl
chown -R qscand:qscand /var/spool/qmailscan
vi /var/qmail/supervise/qmail-smtpd/run
#在你的qmail启动脚本修改红色部份
#!/bin/sh
qmailDUID=`id -u vpopmail`
NOFILESGID=`id -g vpopmail`
PATH=$PATH:/usr/local/bin:/var/qmail/bin
qmailQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export qmailQUEUE
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
exec /usr/local/bin/softlimit -m 40000000 \
/usr/local/bin/tcpserver -v -H -R -l 0 \
-x /home/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD" \
-u "$qmailDUID" -g "$NOFILESGID" 0 smtp \
/var/qmail/bin/qmail-smtpd \
/home/vpopmail/bin/vchkpw /bin/true 2>&1
#后重新启动smtp服务
qmailctl stop
qmailctl start
qmailctl stat
#这里有测试程序
cd /home/pkg/qmail-scanner-1.25/contrib/
chmod 755 test_installation.sh
./test_installation.sh -doit
#这个脚本会设定的管理员邮件地址发送3个邮件,第一个邮件是一般的正常邮件,第二个邮件中会包含eicar.com测试病毒,第三个邮件同样包含eicar.com测试病毒,不过所附带的文件名不是eicar.com
#如果qmail-scanner安装正确,管理员就应该可以收到关于后面的两个邮件的警告邮件。
#如果系统出错,可以查看/var/spool/qmailscan/qmail-queue.log日志文件。
#qmail-scanner的特征过滤在/var/spool/qmailscan/quarantine-attachments.txt
#主要的排错监测日志
/var/spool/qmailscan/quarantine.log
/var/spool/qmailscan/qmail-queue.log
/var/spool/qmailscan/qms-events.log
/var/log/clamav/clamd.log
/var/log/maillog
第二十节:安装qmailAnalog & qlogtools TOP
qmailanalog针对qmail的日志进行一些最基本的分析,并将结果发送到你指定的位置。在我的方案中,设置qmailanalog每天晚上运行,并将结果发送给管理员。 在使用qmailanalog时,我们还将会用到qlogtools软件包。
qlogtools提供一系列分析qmail日志的工具,这些工具将文件中诲涩难懂的日志转换成便於我们阅读和能够理解的报告。当安装完成qmailstats和Qlogtools后,我将会创建一个脚本让它每天晚上运行,并将报告发送到管理员邮箱。这个脚本也可用到我们先前安装的qms-analog,qms-analog将会提供qmail-scanner运行状态报告。
#先安装qmailanalog
cd /home/pkg/
tar zxvf qmailanalog-0.70.tar.gz
cd qmailanalog-0.70
patch < /home/pkg/qmailanalog-0.70.errno.patch
make && make setup check
#安装qlogtools
cd /home/pkg/
tar zxvf qlogtools-3.1.tar.gz
cd qlogtools-3.1
patch < /home/pkg/qlogtools_errno.patch
make
./installer
#现在我们要创建一个脚本,并将它添加到cron,让其每天晚上运行并产生报告。
#下面是一个可靠的脚本,它将会收集qmailanalog输出的信息并产生报告。
cp /home/pkg/qms-analog-0.4.2/qmailstats /var/qmail/bin/
#红色部份改成你的域名。
vi /var/qmail/bin/qmailstats
#!/bin/sh
# qmailanalog invocation script
PATH=/usr/local/qmailanalog/bin:/var/qmail/bin:/bin:/usr/bin:/usr/local/bin
qmailSTATS="/tmp/q.$$"
EMAILMSG="/tmp/qms.$$"
umask 077
cat /var/log/qmail/* /var/log/qmail/pop3d/* /var/log/qmail/pop3ds/* /var/log/qmail/smtpd/* | tai64n2tai | awk '{$1=substr($1,1,index($1,".")+6);print}' | matchup > $qmailSTATS 5>/dev/null
DATE=`date +'%D'`
echo "To: postmaster@yourdomain.com" > $EMAILMSG
echo "From: postmaster@yourdomain.com" >> $EMAILMSG
echo "Subject: Nightly qmail Stats Report for $DATE" >> $EMAILMSG
echo "" >> $EMAILMSG
echo "" >> $EMAILMSG
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $EMAILMSG
zoverall < $qmailSTATS >> $EMAILMSG
echo "" >> $EMAILMSG
echo "" >> $EMAILMSG
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $EMAILMSG
zfailures < $qmailSTATS >> $EMAILMSG
echo "" >> $EMAILMSG
echo "" >> $EMAILMSG
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $EMAILMSG
zdeferrals < $qmailSTATS >> $EMAILMSG
echo "" >> $EMAILMSG
echo "" >> $EMAILMSG
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $EMAILMSG
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~ L a s t 2 4 H o u r s ~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $EMAILMSG
cat /var/spool/qmailscan/qms-events.log | qms-analog 24 >> $EMAILMSG
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $EMAILMSG
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A l l R e c o r d s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $EMAILMSG
cat /var/spool/qmailscan/qms-events.log | qms-analog 0 >> $EMAILMSG
cat $EMAILMSG | qmail-inject
rm -f $qmailSTATS
rm -f $EMAILMSG
#设置此脚本可执行
chmod 750 /var/qmail/bin/qmailstats
#现在,让我们运行脚本
/var/qmail/bin/qmailstats
#确认你的管理员邮箱,你将会收到一份非常详尽的报告。
#如果测试运行正常,那就加入cron让其每天早上3点运行。
crontab �e
0 3 * * * /var/qmail/bin/qmailstats 1>/dev/null 2>/dev/null
第二十一节:安装isoqlog TOP
isoqlog是一个qmail日志分析工具,它是用perl写的,可以分析和统计qmail的运行日志,并生成漂亮的HTML格式的报表,如果服务器上已经安装WEB服务,管理员就可以通过浏览器来查看这些报表。相对于qmailanalog,isoqlog分析的项目稍微少一些。
isoqlog可以生成多个邮件域的报表;对于每个邮件域,isoqlog可以统计出每天、每月、每年的邮件流量以及字节数,还生成相应的统计柱状图;对于每天的报表,isoqlog可以根据邮件投递的数量以及字节数的多少来对邮件用户进行排列。
#安装isoqlog
cd /home/pkg
tar zxvf isoqlog-2.1.1.tar.gz
cd isoqlog-2.1.1
./configure
make
make install
make clean
cd isoqlog
mkdir /var/www/html/isoqlog
cp -pr ./htmltemp/images ./htmltemp/library /var/www/html/isoqlog
#配置isoqlog
cd /usr/local/etc
mv isoqlog.conf-dist isoqlog.conf
vi isoqlog.conf
#将下面红色部份改成你的安装目录和主机名称。
#isoqlog Configuration file
logtype = "qmail-multilog" #log type qmai-multilog, qmail-syslog, sendmail, postfix
logstore = "/var/log/qmail" #
domainsfile = "/usr/local/etc/isoqlog.domains" #
outputdir = "/var/www/html/isoqlog" #html outpur directory
htmldir = "/usr/local/share/isoqlog/htmltemp"
langfile = "/usr/local/share/isoqlog/lang/english"
hostname = "mail.domain.com"
maxsender = 100
maxreceiver = 100
maxtotal = 100
maxbyte = 100
#保存并退出。
#下一步是告诉isoqlog哪些虚拟域需要产生统计报表,我希望我的mail服务器能够报告每个域的状态,所以只需要简单的创建了个链接即可:
ln -s /var/qmail/control/rcpthosts isoqlog.domains
#现在,isoqlog应该能够正常运行了,运行如下命令测试一下效果:
/usr/local/bin/isoqlog
#通过如下页面查看输出结果:
http://domain.com/isoqlog
#你可以点击各个虚拟域名称显示其报表。
#我们希望isoqlog能够即时提供报表,将如下内容加入crontab
crontab -e
58 * * * * /usr/local/bin/isoqlog 1>/dev/null 2>/dev/null
#每个小时的第58分钟运行一次
第二十二节:安装MRTG TOP
多路由器通信监视器(MRTG)是在网络链路上监控通信负载的一件工具。 MRTG 产生包含图表的HTML网页,它可以将系统中的通信情况实时的显示在页面上。 我们可以在我们的系统上使用它来监控电子邮件和spam情况。
#安装
cd /home/pkg
rpm -Uvh mrtg-2.10.15-1.i386.rpm
#通过安装inter7的qmailmrtg ,我们将在我们的系统上安装MRTG
# 编译 qmailmrtg
cd /home/pkg
tar -xzf qmailmrtg7-4.0.tar.gz
cd qmailmrtg7-4.0
make
make install
mkdir /var/www/html/qmailmrtg
cp qmail.mrtg.cfg index.html /var/www/html/qmailmrtg
cd /var/www/html/qmailmrtg/
#修改 qmail.mrtg.cfg 和 index.html文件, 将所有出现FQDN 的地方都改成你的完整域名(例如: test.com). 如果你的HTTP MRTG目录并不是默认的 (例如: 你并没有把 /var/www/html/作为你的web根目录), 则必须在/var/www/html/qmailmrtg/qmail.mrtg.cfg 文件中修改WorkDir变量为正确的路径. 如果你不需要记录某项服务, 你可以在所不需要记录的服务每一行的前面加一个# 来注释掉它,并删除index.html中对应的服务项目。
#你可以修改 pop3和smtp所在的行, 设置MaxBytes参数来重写tcpserver中-cX所在行.
#你还可以修改concurrency来重写concurrencyremote或concurrencylocal 的值. 如果这些文件在/var/qmail/control 目录下并不存在,则qmail默认的值为20.
#下面是我们的最后一步,将下面一段添加到crontab中, 以使我们能每五分钟升级一次MRTG数据. 运行如下命令:
crontab -e
#添加下面一段 (使MRTG每五分钟运行一次) 然后退出crontab:
*/5 * * * * /usr/bin/mrtg /var/www/html/qmailmrtg/qmail.mrtg.cfg 2>&1 > /dev/null
#现在运行MRTG三次来安装它. 你将会收到3次警告消息. 之后,你将不会再收到警告了.
env LANG=C /usr/bin/mrtg /var/www/html/qmailmrtg/qmail.mrtg.cfg
#现在应该安装好了. 为了能显示些信息,我们等待15分钟的日志记录. 你可以通过下面的地址来检查图形监控情况:
http://your.host.name/qmailmrtg/
查看它们的图形监控情况!
第二十三节:测试 TOP
测试igenus
http://domain.com/
测试qmailadmin
http://domain.com/cgi-bin/qmailadmin
测试vQadmin
http://domain.com/cgi-bin/vqadmin/vqadmin.cgi
测试SMTP认证
[root@mail pkg]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 domain.com ESMTP
ehlo domain.com
250-domain.com
250-STARTTLS
250-PIPELINING
250-8BITMIME
250-SIZE 0
250 AUTH LOGIN PLAIN CRAM-MD5
starttls
220 ready for tls
quit
quit
Connection closed by foreign host.
[root@mail pkg]#
测试POP3
[root@mail pkg]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK <12316.1112351637@mail.domain.com>
user xuki@domain.com
+OK
pass xukixu
+OK
quit
+OK
Connection closed by foreign host.
[root@mail pkg]#
测试IMAP
[root@mail pkg]# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. See COPYING for distribution information.
a001 login xuki@domain.com xukixu
a001 OK LOGIN Ok.
a001 login out
a001 NO Error in IMAP command received by server.
a001 logout
* BYE Courier-IMAP server shutting down
a001 OK LOGOUT completed
Connection closed by foreign host.
[root@mail pkg]#
第二十四节:系统维护 TOP
邮件系统相关日志
/var/log/maillog
/var/log/qmail/current
/var/log/qmail/pop3d/current
/var/log/qmail/pop3ds/current
/var/log/qmail/smtpd/current
/var/spool/qmailscan/qmail-queue.log
/var/spool/qmailscan/qms-events.log
/var/spool/qmailscan/quarantine.log
第二十五节:FAQ(网上收集) TOP
设置qmail用户邮箱的容量
cd /home/vpopmail/bin
./vsetuserqutoa domain.com 10500000s --domain.com这个域,都设成10m的
./vsetuserqutoa xuki@domain.com 10500000s ---只把xuki@domain.com这个用户单独设置为10m。
qmail限制附件的大小
在/var/qmail/control/databytes 文件中设置附件的大小,可以实现对qmail附件大小的限制,一般安装完成后,这个文件是没有的,你可以自己创建。smtp方式是以qmail的databytes作限制的;创建databytes并设置邮件最大为4m :
echo 4000000 >/var/qmail/control/databytes
限制单域的邮箱数量
vi /home/vpopmail/domains/domain.com/.qmailadmin-limits
maxpopaccounts 200
default_quota 52428800s
chmod 700 /home/vpopmail/domains/domain.com/.qmailadmin-limits
chwod vpopmail:vchkpw /home/vpopmail/domains/domain.com/.qmailadmin-limits
这样就把邮箱总数限制在200个,每个邮箱为50M了
用qmail封mailfrom
vi/var/qmail/control/badmailfrom
这个控制文件实现拒收邮件功能的,每一个地址要单独一行。而且,不用重起qmail就能生效。例如:
peng@96633.net -----限制一个特定的用户
@sina.com -----限制整个域中的邮件
批量添加用户
例1:
新建一文件 batchadduser.sh,将以下内容拷入文件中保存,运行chmod u+x batchadduser.sh使其可执行。
#!/bin/bash
#batchadduser.sh: batch add mail user.
#install step.
#chmod u+x batchadduser
#./batchadduser.sh domain datafile
if [ $# -lt 2 ]
then
echo "usage: $0 domain datafile"
exit 1
fi
domain=$1
datafile=$2
addcmd=/home/vpopmail/bin/vadduser
while read username passwd
do
$addcmd $username@$domain $passwd
done < $datafile
user文件内容的格式
username1 passwd
username2 passwd2
............
运行batchadduser.sh user即可批量添加用户。
例2:
我把用户名放到一个文本文件中,一个名字一行,密码和它的帐号一致,用户自己再去改密码。
while read line
do
echo $line
./vadduser $line $line
done < user
有选择地清理不需要的Mail Queue
1、处理队列中的邮件:
如想在队列中的邮件马上传递,可以
kill -HUP qmail-send
要删除队列中的邮件
1) 停止qmail
2) mv /var/qmail/queue/lock /var/qmail/;find /var/qmail/queue/ -type f -exec rm {} \; ;mv /var/qmail/lock /var/qmail/queue/
3) 重启qmail.
队列中的邮件包含在以下目录中 /var/qmail/queue/{info,mess,remote,local}/hash/#number
2、在邮件队列中快速删除从一个地方发过来但又不存在的邮件设bad.jite.com是这个域。可以键入以下命令
echo # > ~alias/.qmail-baddomain-default
echo bad.jite.com:alias-baddomain>> /var/qmail/control/virtualdomains
echo bad.jite.com:127.0.0.1 >> /var/qmail/control/smtproutes
然后运行/var/qmail/bin/qmail-tcpok,给qmail-send 一个HUP信号
3、删除队列中的大量广告信息
先停止qmail.
1) 停止qmail, qmail-smtpd
2) 在以下默认目录下 /var/qmail/queue/mess
find /var/qmail/queue/mess -type f -exec grep "^Subject:dss" {} \; -print -exec rm {} \;
3) 运行queue-fix清除相关文件,
4) 重启qmail.
使用sh备份qmail+mysql数据到指定的ftp地址的方法
备份vpopmail的domains目录、qmail的control目录和mysql的var数据存放目录,使用crontab定时进行操作。下面是脚本文件,具体的目录视自己的系统更改:
mkdir /var/qmailbakup
cd /var/qmailbakup
touch qmailbakup.sh
chmod 755 qmailbakup .sh
vi qmailbakup.sh
#!/bin/sh
DATE=`date +%Y-%m-%d-%H`
cd /var/qmailbakup/
tar cvzf domains.$DATE.tar.gz /home/vpopmail/domains
tar cvzf control.$DATE.tar.gz /var/qmail/control
tar cvzf mysql.$DATE.tar.gz /usr/local/mysql/var
ftp -n 192.168.0.21 << ! //你的ftp服务器的地址
user qmail qmailbakup //ftp用户名和密码,注意要有put权限
binary
put domains.$DATE.tar.gz
put control.$DATE.tar.gz
put mysql.$DATE.tar.gz
bye
!
rm -f domains.$DATE.tar.gz control.$DATE.tar.gz mysql.$DATE.tar.gz //删除本机产生的文件,如果你想在本服务器也保存一份备份,去掉该项即可。
使用crontab定时执行:
vi /etc/crontab
00 20 * * 0-6 /var/qmailbakup/qmailbakup.sh
这样每天晚上8:00执行改备份程序。
给新浪发信的解决办法
1) echo "我的邮件服务器的真实域名(A记录)" > /var/qmail/control/helohost
2) 拨打新浪邮件售后服务电话
临时限制一个用户的pop3
vmoduser -p email_addr or domain ( for the entire domain )
修改默认的域名
A:
要更改haohao.com为默认域。
方法:
更改~qmail/control/
defaultdomain
me
plusdomains
逐一更改启动pop3和 smtp的启动脚本:
修改:email.3sk.comhaohaoo.com
在最上边添加:export VPOPMAIL_DOMAIN=haohaoo.com
将一个系统的qmail用户完整地转移到另一个系统
A:
a.cdb配置的?那么请把/home/vpopmail/domains这个文件夹备份好就可以了。用户和密码文件,还有用户信件都在这个目录下。
还应该备份/var/qmail/control下的相关配置文件。
b.如果是以MYSQL数据库方式来存储用户认证信息的
只需要备份
~vpopmail/domain下的所有邮件
/var/qmail/control的配置文件
MYSQL数据库目录下的vpopmail库目录。一般是/var/lib/mysql(RPM)、/usr/local/mysql/data、/usr/local/mysql/var下面。
把一邮件域的名字比如a.com更改为b.com,如何实现
以下几个步骤:
1、cd /home/vpopmail/domains
mv a.com b.com
2、把vpopmail数据库的vpopmail表导出把所有a.com改为b.com,然后删除vpopmail表,再导入.
3、把把vpopmail数据库的dir_control表的a.com改为b.com
4、在/home/qmail/control 目录下把 virtualdomains和rcpthosts下的的a.com改为b.com.
5、在/home/qmail/users目录下把assign文件的a.com改为b.com
6、需要运行qmail-newu重新生成cdb。assign只是配置文件,cdb才是实际的数据文件。
加快 qmail 投递邮件速度
A: /var/qmail/control下面是qmail的控制文件,这两个文件:
Concurrentcylocal default: 10 最大本地同时传送数
Concurrencyremote default: 20 最大远程同时传送数
更改域的默认管理账号
A: vmoduser有个-a参数,可以赋予用户管理权限。
如果想全面禁用postmaster的特殊权限话,就只能改源代码了。
qmail下的主要配置文件(/var/qmail/control目录下):
文件名 默认值 使用者用途
badmailfrom none qmail-smtpd 黑名单地址
bouncefrom MAILER-DAEMON qmail-send 退回邮件
bouncehost me qmail-send 退回邮件
concurrencylocal 10 qmail-send 本地同时投递邮件的数目