首 页 教育新闻课件中心论文中心教学教案试题中心语文专题综合下载技术教程公务员  
设为首页
加入收藏
联系我们
您当前的位置:中国教育资源网 -> 技术教程 -> 网络相关 -> 服务器 -> Web服务器 -> 技术内容 退出登录 用户管理

Postfix+Cyrus-SASL+Cyrus-IMAPD+PgSQLHOWTOWeb服务器教程

论文作者:佚名  论文来源:不详  论文发布时间:2006-6-18 22:03:37  论文发布人:chjchjchj

减小字体 增大字体

              摘要:Postfix+Cyrus-SASL+Cyrus-IMAPD+PgSQLHOWTO

[附言]
该附言或许不成其为什么许可证,但还是希望您尊重作者的愿望。
如果您发现有什么错误,请及时通知我,我将尽快作出修改。如果您在网上转载,那将是免费,但希望您附上本附言,并且注明出处的链接。如果您要把它用印刷物形式出版,请通过www.cnfug.org跟本人接洽。
您在以本文作为根据配置电脑的时候,若出现任何故障,后果自负,与本作者无关。



目标
本文的目的是在于说明如何在FreeBSD的环境下面搭建一个邮件系统。这个邮件系统支持虚拟用户,提供IMAP服务,可以成为构成WebMail系统的基础。
支持IMAP服务的Webmail有著名的IMP和SquirrelMail等等。
本文虽然是用PgSQL作为后台数据库,但是仍然对使用MySQL,LDAP数据库的作为后台的类似邮件系统有启发作用。如果仔细阅读本文,一定会有所收货的。使用其他后台数据库的话,要修改的地方有两处:pam服务和main.cf的virtual_mailbox_maps项。
本文所有的调试是在FreeBSD-4.8 release上通过的,也对FreeBSD-5作了额外的说明,主要的差异是集中在pam服务的配置不同而已,希望能有所帮助。
Linux的用户也能可以参考本文的配置,您只需要留意路径和pam服务的配置。pam服务配置跟FreeBSD-5类似。


零、阅读准备


1)阅读本文需要一定基础,我假设你已经清楚以下的东西:
邮件系统的基本原理,邮件系统的相关协议的作用,例如smtp,pop3,imap。


2)什么是SASL:
SASL的英文全称是Simple Authentication and Security Layer,简单验证和安全层。
SMTP协议并没有提供用户验证功能,很容易匿名中转邮件。即使限制了可以转发的网段,也不安全。他的定义是: a method for adding authentication support to connection-based protocols,为基于连接的协议提供认证功能。


3)软件的角色:


Postfix:充当MTA,就是smtpd,作为邮件转发用。


Cyrus-SASL:分成两部分
a)Cyrus项目的SASL lib,Postfix使用SASL需要用到的lib。
b)Cyrus-saslauthd,一个SASL的验证后台程序


Cyrus-IMAPD:
提供IMAP服务,提供邮件读取和管理邮箱的作用。


cyradm:
这个不是一个独立的软件,安装Cyrus-IMAP的时候会自动安装上去的。它的作用是创建和管理邮箱。


PgSQL:后台数据库,存放用户的密码等等。

总的来讲,Postfix充当转送邮件的服务;Cyrus-IMAP充当提供邮件读取、管理的服务;SASL使用验证服务。


4、Cyrus-SASL和Cyrus-IMAPD不是同一样东西
就跟Microsoft Visual C++和Microsoft Office不是同一个东西一样


一、本系统的工作原理和结构
注意是本系统。实现一个邮件系统有很多种方式,即使你用的都是跟本系统完全一样的软件,也有不同的实现方式。
系统的邮件主机是:
f4.room
f4是因为fbsd-4,域为room:是因为电脑放在房间里头。您要看不顺眼,就把本文的f4.room都换成example.com算了。


I、Postfix的担任的工作的部分:
1、这个是投递邮件的时候的用户验证的部分:

 |------------------------|
| Postfix |
| |
| |-------------| |
|-| Cy-SASL-lib |--------|
| |
|-------------|
|
|
|--------------|
| Cy-saslauthd |
|--------------|
|
|
|-------|
| PAM |
|-------|
|
|
|-----------------------|
| PostgreSQL |
|-----------------------|

图例说明:
当有程序访问smtp服务(TCP端口25)的时候,Postfix会给出220 ESMTP的回应,提示是要验证的smtp服务。密码和用户名提交给Postfix以后,Postfix会把密码和用户名通过调用Cy-SASL lib提交给一个后台验证程序:Cy-saslauthd。Cy-saslauthd会调用PAM模块进行验证。PAM模块会调用名为smtp的PAM服务名进行验证。在本系统中,PAM服务是调用pam_pgsql访问PostgreSQL进行验证的。然后结果再Return回去。

2、邮件转送:
分成三种情况:
1)如果邮件是给非本域用户的,例如是21cn.com的,马上就转发过去了。


2)如果邮件是给本域虚拟用户的,Postfix要访问PgSQL,来看看本域是否有这个虚拟用户。有就转发到他的虚拟邮箱,没有就把邮件defered掉。(什么是defered?待查,估计是砍掉的意思)
Postfix <--> PostgreSQL


3)如果是本域的本地用户,就转发到本地用户的邮箱,就是/var/mail/username那里。
Postfix <--> /etc/passwd


II、Cyrus-IMAP担任的工作部分
1、邮件的获取:
Cyrus-IMAPD有他自己的一套管理邮件的方法,不是用传统的unix邮箱方法(/var/mail/username),但是邮箱的读取十分高效。当Postfix获得目的地是本域的虚拟用户的时候,我们设置Postfix内置支持的一个功能:调用Cyrus-IMAP的一个程序,将邮件“拿”过来放到由Cyrus-IMAPD管理的邮箱里头。


2、用户的验证。
当用户要读取自己的邮件的时候,要通过IMAP服务。本系统配置了Cyrus-IMAP通过Cyrus-saslauthd进行验证。其原理大概同Postfix验证用户的原理一样。

 |------------------------|
| Cyrus-IMAPD |
| |
| |-------------| |
|-| Cy-SASL-lib |--------|
| |
|-------------|
|
|
|--------------|
| Cy-saslauthd |
|--------------|
|
|
|-------|
| PAM |
|-------|
|
|
|-----------------------|
| PostgreSQL |
|-----------------------|


III、PgSQL存储的数据
现在把PgSQL存储的数据再总结一下。
PgSQL主要存储两部分数据:
1)虚拟用户的用户名和密码。这部分是提供验证用,从saslauthd通过PAM服务访问。

ID  | usr   | pass  | expired | newtok
----+-------+-------+---------+--------
1 | test1 | pass1 | f | f
2 | test2 | pass2 | f | f



2)用户的地址和对应的信箱。这部分是Postfix访问的,从中获得邮件地址和邮箱的映射关系,然后根据邮件地址转发到相应的邮箱。

ID  | addr           | box
----+----------------+------------
1 | test1@f4.room | test1
2 | test2@f4.room | test2
在本[] [返回上一页] [打 印] [收 藏]  
上一篇技术:postfix邮件病毒过滤Web服务器教程
下一篇技术:利用FreeBSD组建轻量级邮件系统Web服务器教程
 ∷相关技术评论  (评论内容只代表网友观点,与本站立场无关!) [查看发表评论...]
 
 中国教育资源网免费技术教程下载中心-站内广告 站内广告 中国教育资源网免费技术教程下载中心-站内广告 
 中国教育资源网站内搜索 站内搜索 中国教育资源网站内搜索 
 

   
 中国教育资源网免费技术教程下载中心-栏目导航 栏目导航 中国教育资源网免费技术教程下载中心-栏目导航 
· Windows 9XMEXP · Windows NT20002003
· LinuxBSD · 系统综合
· IISApache · 硬件技术
· Web服务器 · FTP服务器
· 邮件服务器 · 域名服务器
· Windows服务器 · 代理服务器
· 服务器综合
 
中国教育资源网免费技术教程下载中心-相关教程  相关技术 中国教育资源网免费技术教程下载中心-相关教程
· [组图] 海报打印Poster-Pr
· TreeView节点互斥,a
· 安装postfix新问题,
· [原创]Red Hat Post
· Debian APT HOWTOFT
· PHP+JSP/servlets+M
· [XHTMLTutorial]走向
· Postfix+Courier-IM
· QmailServerHowtoWe
· 在FreeBSD5.1簡單安
 中国教育资源网免费技术教程下载中心-本月热门教程 本月热门 中国教育资源网免费技术教程下载中心-本月热门教程 
 
 中国教育资源网免费技术教程下载中心-本日热门论文 本日热门 中国教育资源网免费技术教程下载中心-本日热门论文 
 
关于本站 - 网站帮助 - 免费课件 - 美容 - 绿色软件 - 软件下载 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 网站留言
浙ICP备06010405号 Email:cnkjz@163.com 技术支持:名流设计
版权所有 Copyright© 2002-2004 名流