分享
 
 
 

Linux Imap & Pop 服务器

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

概述

所谓邮件服务器,通常指运行如下一种或几种服务的服务器,即运行IMAP服务,POP3服务,POP2服务或者SMTP服务,下面我所讲述的涉及IMAP4,POP3,POP2服务,所有的这些均来自一个软件包,而Sendmail是一种被广泛采用SMTP服务器。

POP 是Post Office Protocol 缩写,中文即“邮局协议”,它允许用户列出邮件,接收邮件,删除邮件,在Linux 中提供了多种POP服务器。对大多数用户来说,各种Linux发行版中自带软件包已经足够用了,IMAP服务是POP服务的扩展与延伸,可以方便地管理多个邮件帐号,也可以让多个用户共用一个帐号,或者是只把邮件留在服务器上,把邮件头部或邮件体下载到客户机上而不必下载附件,等等增强特性。

对于比较严格的邮件服务需求而言,IMAP是一种理想的选择。大多数Linux发行版本带有的缺省POP和IMAP服务器(它们被捆绑在一种称为Imapd的软件包之中),足以满足绝大部分要求。

注意事项

下面所有的命令都是Unix兼容的命令。

源路径都为“/var/tmp”(当然在实际情况中也可以用其它路径)。

安装在RedHat Linux 6.1下测试通过。

要用“root”用户进行安装。

Imap的版本号是4.5;

软件包的来源

Imap主页:http://www.washington.edu/imap

必须确保下载:imap-4.5.tar.Z

安装软件包需要注意的问题

在安装imap前后保存一下文件列表对你也许是一个好主意,而后用diff比较一下两个文件列表从而找出imap的文件被安装到哪里去了,方法是在安装imap之前运行一下 “find /*>imap1”,而在安装imap服务之后运行“find /* > imap2”,接着执行命令“diff imap1 imap2 >imap”,从而得到安装文件列表。

编译和安装

把软件包(tar.Z)解压缩:

[root@deep]# cp imap-version.tar.Z /var/tmp

[root@deep]# cd /var/tmp

[root@deep]# tar xzpf imap-version.tar.Z

编译与优化

使用cd 命令进入Imap目录,而后在终端上键入如下命令:

编辑“Makefile”文件(vi+689 src/osdep/unix/Makefile)并做如下改动:

sh -c (test -f /usr/include/sys/statvfs.h -a  $(OS) != sc5 -a  $(OS) != sco) &&  $(LN) flocksun.c flockbsd.c ||  $(LN) flocksv4.c flockbsd.c

改为:

sh -c (test -f /usr/include/sys/statvfs.h -a  $(OS) != sc5 -a  $(OS) != sco -a  $(OS) != lnx) &&  $(LN) flocksun.c flockbsd.c ||  $(LN) flocksv4.c flockbsd.c

这会更改sys/starvfs文件,在linux中的glibc 2.1中所带的这个文件与Sun中所带的文件不同。

编辑一下“Makefile”文件。(vi+355 src/osdep/unix/Makefile),并做如下改动:

BASECFLAGS="-g -fno-omit-frame-pointer -O6 -DNFSKLUDGE"

改为:

BASECFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions -DNFSKLUDGE"

这是编译IMAP/POP服务器的一种优化设置

编辑“Makefile”文件(vi+112 src/osdep/unix/Makefile),并做如下改动:

BUILDOPTIONS= EXTRACFLAGS=" $(EXTRACFLAGS)"

改为:

BUILDOPTIONS= EXTRACFLAGS= -DDISABLE_POP_PROXY=1 -DIGNORE_

LOCK_EACCES_ERRORS=1" $(EXTRACFLAGS)"

在缺省情况下,ipop2d/ipop3d服务器提供的POP→IMAP访问代理,允许POP的客户通过一个POP服务器访问IMAP的邮件,可以通过设定“DDISABL-POP-PROXY=1”选项禁止这项功能。

“_D IGNORE_LOCK_EACCES_ERRORS=1”选项禁止在因为试图创建一个邮箱加锁文件失败时而产生EACCES错误时出现的“Mailbax vulneralbe – directory must have 1777 protection”警告信息。

编辑“Makefile”文件(vi+58 svc/osdep/unix/Makefile),并做如下改动:

ACTIVEFILE=/usr/lib/news/active

改为:

ACTIVEFILE=/var/lib/news/active

SPOOLDIR=/usr/spool

改为:

SPOOLDIR=/var/spool

RSHPATH=/usr/ucb/rsh

改为:

RSHPATH=/usr/bin/rsh

“ACTIVEFILE=”这行表明Linux中IMAP/POP活动目录的路径,“SPOOLDIR=”是Linux IMAP/POP服务器的缓冲池目录路径。“RSHPATH=”表明了系统中的rsh目录的路径,必须指出的是,尽管我们不用rsh服务,但仍要指明了rsh目录的正确路径。

编辑“Makefile”文件(vi+85 src/osdep/unix/Makefile)并做如下改动:

CC=cc

改为:

CC=egcs

这一行代表我们编译IMAP/POP服务器所用的GCC编译器的名称,此时是(egcs)

[root@deep]# make lnp

[root@deep]# mv ./c-client/c-client.a ./c-client/libimap.a

[root@deep]# install -m 644 c-client/libimap.a /usr/lib/

[root@deep]# install -m 644 ./src/ipopd/ipopd.8c /usr/man/man8/ipopd.8c

[root@deep]# install -m 644 ./src/imapd/imapd.8c /usr/man/man8/imapd.8c

[root@deep]# install -s -m 755 ./ipopd/ipop2d /usr/sbin/

[root@deep]# install -s -m 755 ./ipopd/ipop3d /usr/sbin/

[root@deep]# install -s -m 755 ./imapd/imapd /usr/sbin/

[root@deep]# mkdir -p /usr/include/imap

[root@deep]# install -m 644 ./c-client/*.h /usr/include/imap/

[root@deep]# install -m 644 ./src/osdep/tops-20/shortsym.h /usr/include/imap/

[root@deep]# chown root.mail /usr/sbin/ipop2d

[root@deep]# chown root.mail /usr/sbin/ipop3d

[root@deep]# chown root.mail /usr/sbin/imapd

上面的命令完成:配制软件以确保在系统中能够有成功编译本软件包所需的函数和类库;把源文件编译成二进制执行码;把可执行文件和支持文件安装到正确的位置。

注意一下上面“make Inp”命令,它将使你的Linux系统具有插入认证模块(Pluggable Authentication Modules(PAM))能力,这样就有更好的安全性。

“mkdir”命令在usr/include目录下创建一下叫Imap的新目录,这个新目录用于存储与C-Client/*及shartsym.h,这些是与imapd程序有关的头文件。

“chown”命令把pop2d,pop3d和imapd的所有权改为超级用户root及mail用户组。

注意:出于安全考虑:如果只打算使用imapd服务,请把pop2d,pop3d删除,如果想同时使用ipop服务请把imapd删除,如果想同时使用imapd和 ipopd服务,就把两个都保留下来。

清除不必要的文件

[root@deep]# cd /var/tmp

[root@deep]# rm -rf imap-version/ imap-version.tar.Z

rm命令把用于编译安装IMAP/POP服务的所有源文件清除,同时也把IMAP/POP的压缩文件从“var/tmp”目录中删除。

配置

可以到这去下载“floppy.tgz”文件:http://pages.infinit.net/lotus1/doc/opti/floppy.tgz。把“floppy.tgz”文件解开之后,在相应的目录下会发现我们在这本书中介绍的所有软件的配置文件。这样就没有必要手工重新生成这些文件,或者用拷贝粘贴的方法把它们粘贴到配置文件中去。不管是打算自己动手生成配置文件还是拷贝现成的,你都要学会自己修改配置文件并且把配置文件拷贝到正确的目录下。下面将具体说明。

对于运行IMAP/POP服务器而言,下面这些文件必须存在而且必须把它们创建或拷贝到在适当的目录中。

l 如果打算用imapd服务,拷贝imapd文件到etc/pam.d目录。

l 如果打算用popd服务,拷贝pop文件到etc/pam.d目录。

可以从floppy.tgz压缩文件中找到下列配置文件,把它们从解压的floppy.tgz文件中到适当的目录中,或者直接从书中剪帖到相关文件中。

配制“etc/pam.d/imap”文件

配制“/etc/pam.d/imap”文件使其可以使用pam认证。

创建“imap”文件(touch /etc/pam.d/imap)并加上如下几行:

#%PAM-1.0

auth required /lib/security/pam_pwdb.so shadow nullok

account required /lib/security/pam_pwdb.so

注意:本文件只有在使用IMAP服务时才是必须的。

配制“/etc/pam.d/pop”文件

配制“/etc/pam.d/pop” 文件使其通过pam认证。

创建pop文件(touch /etc/pam.d/pop)并加上如下几行:

#%PAM-1.0

auth required /lib/security/pam_pwdb.so shadow nullok

account required /lib/security/pam_pwdb.so

注意:本文件只有在使用POP服务时才是必须的。

IMAP/POP的安全信息

是否真的需要IMAP/POP服务?

某些版的IMAP/POP程序中存在严重的缓冲区溢出错误,可以被黑客利用来以“root”身份执行一些命令。确保已经把软件的版本升级到4.5或更高。有些版本的POP服务器不报告登录失败信息,这样有的攻击者就可以在你完全不知情的情况下强行破解密码。如果出现这种情况,请尽快升级软件。

应当清醒地知到IMAP/POP程序在缺省的情况下使用明文方式传送密码,任何一个人都可以利用网络嗅探程序(sniffer)监听网络从而获取你的用户名和密码,进而以之登录。在使用linux系统的邮件阅读器的时候,并不需要运行一个本地的IMAP/POP服务程序。检查一下你的配置,如果在使用远程或外部IMAP/POP服务器,请关闭或删除本地的守护程序(daemon)。

而且如果打算通过Internet使用Web界面来阅读邮件,采用SSL协议来加密你与IMAP/POP服务器之间的信息交流将是一种不错的主意。参见第五部分,软件相关的参考手册,第十章,服务器软件,在Linux Apache服务器一节有更详细的介绍。

更多的资料

为获取更加详细的信息,可以参见下面几个man说明。

 $ man imapd (8C) - Internet Message Access Protocol server

 $ man ipopd (8C) - Post Office Protocol server

安装到系统中的文件

> /usr/include/imap

> /usr/include/imap/dummy.h

> /usr/include/imap/env.h

> /usr/include/imap/env_unix.h

> /usr/include/imap/fdstring.h

> /usr/include/imap/flstring.h

> /usr/include/imap/fs.h

> /usr/include/imap/ftl.h

> /usr/include/imap/imap4r1.h

> /usr/include/imap/linkage.h

> /usr/include/imap/lockfix.h

> /usr/include/imap/mail.h

> /usr/include/imap/mbox.h

> /usr/include/imap/mbx.h

> /usr/include/imap/mh.h

> /usr/include/imap/misc.h

> /usr/include/imap/mmdf.h

> /usr/include/imap/mtx.h

> /usr/include/imap/mx.h

> /usr/include/imap/netmsg.h

> /usr/include/imap/news.h

> /usr/include/imap/newsrc.h

> /usr/include/imap/nl.h

> /usr/include/imap/nntp.h

> /usr/include/imap/os_a32.h

> /usr/include/imap/os_a41.h

> /usr/include/imap/os_aix.h

> /usr/include/imap/os_aos.h

> /usr/include/imap/os_art.h

> /usr/include/imap/os_asv.h

> /usr/include/imap/os_aux.h

> /usr/include/imap/os_bsd.h

> /usr/include/imap/os_bsi.h

> /usr/include/imap/os_cvx.h

> /usr/include/imap/os_d-g.h

> /usr/include/imap/os_drs.h

> /usr/include/imap/os_dyn.h

> /usr/include/imap/os_hpp.h

> /usr/include/imap/os_isc.h

> /usr/include/imap/os_lnx.h

> /usr/include/imap/os_lyn.h

> /usr/include/imap/os_mct.h

> /usr/include/imap/os_mnt.h

> /usr/include/imap/os_nxt.h

> /usr/include/imap/os_os4.h

> /usr/include/imap/os_osf.h

> /usr/include/imap/os_ptx.h

> /usr/include/imap/os_pyr.h

> /usr/include/imap/os_qnx.h

> /usr/include/imap/os_s40.h

> /usr/include/imap/os_sc5.h

> /usr/include/imap/os_sco.h

> /usr/include/imap/os_sgi.h

> /usr/include/imap/os_shp.h

> /usr/include/imap/os_slx.h

> /usr/include/imap/os_sol.h

> /usr/include/imap/os_sos.h

> /usr/include/imap/os_sun.h

> /usr/include/imap/os_sv2.h

> /usr/include/imap/os_sv4.h

> /usr/include/imap/os_ult.h

> /usr/include/imap/os_vu2.h

> /usr/include/imap/osdep.h

> /usr/include/imap/phile.h

> /usr/include/imap/pop3.h

> /usr/include/imap/pseudo.h

> /usr/include/imap/rfc822.h

> /usr/include/imap/smtp.h

> /usr/include/imap/tcp.h

> /usr/include/imap/tcp_unix.h

> /usr/include/imap/tenex.h

> /usr/include/imap/unix.h

> /usr/include/imap/utf8.h

> /usr/include/imap/shortsym.h

> /usr/lib/libimap.a

> /usr/man/man8/ipopd.8c

> /usr/man/man8/imapd.8c

> /usr/sbin/ipop2d

> /usr/sbin/ipop3d

> /usr/sbin/imapd

> /etc/pam.d/imap

> /etc/pam.d/pop

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有