📄 1900.html
字号:
<li>FILTER字段用于控制该邮箱是否接受服务器的全局邮件过滤。该值设置为“OK”或为空表示对该邮箱不进行过滤;设置为“DUNNO”表示对该邮箱进行Postfix中定于的全局过滤。该值可以是任何合法的Postfix的access过滤规则。</li>
<li>PARTITION字段用于指明邮箱存储的Cyrus-IMAP邮件分区。可以建立多个不同的邮件分区。仅为了管理方便使用。</li>
<li>QUOTA字段指定邮箱的磁盘限额。仅为了管理方便使用。</li>
<li>STATUS字段用来指示该用户是否有效,可以通过修改该值为0来临时禁止某个用户。</li>
</ul>
<h1><a name="a.5" id="a.5"></a>5.  安装Cyrus-SASL</h1>
<h2><a name="a.5.1" id="a.5.1"></a>5.1.  下载</h2>
<p> 目前多数版本的LINUX中都已经内置了Cyrus-SASL,但是并不符合我们的需要,所以我们需要从rpmfind.net下载Cyrus-SASL的源RPM修改后重建并更新系统的Cyrus-SASL:</p>
<p></p>
<p> <a href="javascript:if(confirm('ftp://rpmfind.net/linux/redhat/enterprise/3/en/os/i386/SRPMS/cyrus-sasl-2.1.15-3.src.rpm \n\nThis file was not retrieved by Teleport Pro, because it did not meet the project\'s file type specifications. \n\nDo you want to open it from the server?'))window.location='ftp://rpmfind.net/linux/redhat/enterprise/3/en/os/i386/SRPMS/cyrus-sasl-2.1.15-3.src.rpm'" tppabs="ftp://rpmfind.net/linux/redhat/enterprise/3/en/os/i386/SRPMS/cyrus-sasl-2.1.15-3.src.rpm">ftp://rpmfind.net/linux/redhat/enterprise/3/en/os/i386/SRPMS/cyrus-sasl-2.1.15-3.src.rpm</a></p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td>
<p>[root@mail root]# <span class="type">cd /usr/src</span></p>
<p>[root@mail src]# <span class="type">wget <a href="javascript:if(confirm('ftp://rpmfind.net/linux/redhat/enterprise/3/en/os/i386/SRPMS/cyrus-sasl-2.1.15-3.src.rpm \n\nThis file was not retrieved by Teleport Pro, because it did not meet the project\'s file type specifications. \n\nDo you want to open it from the server?'))window.location='ftp://rpmfind.net/linux/redhat/enterprise/3/en/os/i386/SRPMS/cyrus-sasl-2.1.15-3.src.rpm'" tppabs="ftp://rpmfind.net/linux/redhat/enterprise/3/en/os/i386/SRPMS/cyrus-sasl-2.1.15-3.src.rpm">ftp://rpmfind.net/linux/redhat/enterprise/3/en/os/i386/SRPMS/cyrus-sasl-2.1.15-3.src.rpm</a></span></p></td>
</tr>
</tbody></table>
<p> </p>
<h2><a name="a.5.2" id="a.5.2"></a>5.2.  编译与安装</h2>
<p> 安装Cyrus-sasl源RPM:</p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td>
<p>[root@mail src]# <span class="type">rpm -ivh cyrus-sasl-2.1.15-3.src.rpm</span></p></td>
</tr>
</tbody></table>
<p> 应用以下补丁文件cyrus-sasl.spec.patch:</p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td bgcolor="#ffffcc">*** cyrus-sasl.spec 2003-08-22 03:22:37.000000000 +0800<br>
--- /root/cyrus-sasl.spec 2004-01-16 12:56:30.000000000 +0800<br>
***************<br>
*** 5,11 ****<br>
Summary: The Cyrus SASL library.<br>
Name: cyrus-sasl<br>
Version: 2.1.15<br>
<span class="type">! Release: 3</span><br>
License: Freely Distributable<br>
Group: System Environment/Libraries<br>
Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-%{version}.tar.gz<br>
--- 5,11 ----<br>
Summary: The Cyrus SASL library.<br>
Name: cyrus-sasl<br>
Version: 2.1.15<br>
<span class="type">! Release: 3m</span><br>
License: Freely Distributable<br>
Group: System Environment/Libraries<br>
Source0: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-%{version}.tar.gz<br>
***************<br>
*** 73,78 ****<br>
--- 73,87 ----<br>
The %{name}-md5 package contains the Cyrus SASL plugins which support<br>
CRAM-MD5 and DIGEST-MD5 authentication schemes.<br>
<br>
<span class="type">+ %package mysql<br>
+ Requires: %{name} = %{version}-%{release}<br>
+ Group: System Environment/Libraries<br>
+ Summary: Mysql support for Cyrus SASL.<br>
+ <br>
+ %description mysql<br>
+ The %{name}-mysql package contains the Cyrus SASL plugins which support<br>
+ Mysql auxprop authentication schemes.<br>
+ </span><br>
%prep<br>
%setup -q -c -a 2<br>
pushd cyrus-sasl-%{cs1_version}<br>
***************<br>
*** 167,173 ****<br>
--enable-cram \<br>
--enable-digest \<br>
--enable-plain \<br>
<span class="type">! --enable-login</span><br>
# --enable-auth-sasldb -- EXPERIMENTAL<br>
make sasldir=%{_plugindir2}<br>
popd<br>
--- 176,183 ----<br>
--enable-cram \<br>
--enable-digest \<br>
--enable-plain \<br>
<span class="type">! --enable-login \<br>
! --with-mysql</span><br>
# --enable-auth-sasldb -- EXPERIMENTAL<br>
make sasldir=%{_plugindir2}<br>
popd<br>
***************<br>
*** 273,278 ****<br>
--- 283,293 ----<br>
%{_plugindir2}/*digestmd5*.so*<br>
%{_plugindir2}/*digestmd5*.la<br>
<br>
<span class="type">+ %files mysql<br>
+ %defattr(-,root,root)<br>
+ %{_plugindir2}/*mysql*.so*<br>
+ %{_plugindir2}/*mysql*.la<br>
+ </span><br>
%files gssapi<br>
%defattr(-,root,root)<br>
%{_plugindir}/*gssapi*.so*<br>
***************<br>
*** 300,305 ****<br>
--- 315,321 ----<br>
%{_plugindir2}/*anonymous*.a<br>
%{_plugindir2}/*crammd5*.a<br>
%{_plugindir2}/*digestmd5*.a<br>
<span class="type">+ %{_plugindir2}/*mysql*.a</span><br>
%{_plugindir2}/*gssapi*.a<br>
%{_plugindir2}/*login*.a<br>
%{_plugindir2}/*plain*.a<br></td>
</tr>
</tbody></table>
<p> 这个补丁主要对原有的Cyrus-SASL库添加了对MySQL认识的支持。</p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td>
<p>[root@mail src]# <span class="type">cd redhat/SPECS</span></p>
<p>[root@mail SPECS]# <span class="type">patch -p0 < ../../cyrus-sasl.spec.patch </span></p></td>
</tr>
</tbody></table>
<p></p>
<p> 如果没有出现错误,然后重建RPM:</p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td>
<p>[root@mail SPECS]# <span class="type">rpmbuild -bb cyrus-sasl.spec </span></p></td>
</tr>
</tbody></table>
<p> 重建完成后更新系统的Cyrus-SASL:</p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td>
<p>[root@mail SPECS]# <span class="type">cd ../RPMS/i386</span></p>
<p>[root@mail i386]# <span class="type">rm -rf cyrus-sasl-debuginfo*.rpm</span></p>
<p>[root@mail i386]# <span class="type">rpm -Uvh cyrus-sasl*.rpm</span></p></td>
</tr>
</tbody></table>
<p> </p>
<h2><a name="a.5.3" id="a.5.3"></a>5.3.  配置</h2>
<p> 设置Postfix使用SASL的mysql扩展认证来支持smtp auth认证:</p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td>
<p>[root@mail i386]#<span class="type"> vi /usr/lib/sasl2/smtpd.conf</span></p> </td>
</tr>
</tbody></table>
<p> 内容如下:</p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td bgcolor="#ffffcc">pwcheck_method: auxprop<br>
mech_list: plain login<br>
mysql_user: mail<br>
mysql_passwd: secret<br>
mysql_hostname: localhost<br>
mysql_database: mail<br>
mysql_statement: select CLEAR_PASSWORD from USER where (USERNAME = '%u'
or MAIL = '%u@%r') limit 1 </td>
</tr>
</tbody></table>
<p> 对于cyrus-sasl-2.1.17版本的sasl,其对mysql、postgresql等数据库的支持已经合并为一个sql扩展,具体的配置语句略有不同。</p>
<p> 整个系统只有Postfix的smtp auth使用了SASL认证。Courier-IMAP的认证使用了它自己的mysql扩展。</p>
<h1><a name="a.6"></a>6.  安装Maildrop</h1>
<h2><a name="a.6.1" id="a.6.1"></a>6.1.  下载</h2>
<p> <a href="javascript:if(confirm('http://sourceforge.net/projects/courier/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://sourceforge.net/projects/courier/'" tppabs="http://sourceforge.net/projects/courier/">http://sourceforge.net/projects/courier/</a></p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td>
<p>[root@mail i386]# <span class="type">cd /usr/src</span></p>
<p>[root@mail src]# <span class="type">wget </span><a href="javascript:if(confirm('http://heanet.dl.sourceforge.net/sourceforge/courier/maildrop-1.6.3.tar.bz2 \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://heanet.dl.sourceforge.net/sourceforge/courier/maildrop-1.6.3.tar.bz2'" tppabs="http://heanet.dl.sourceforge.net/sourceforge/courier/maildrop-1.6.3.tar.bz2">http://heanet.dl.sourceforge.net/sourceforge/courier/maildrop-1.6.3.tar.bz2 </a> </p></td>
</tr>
</tbody></table>
<h2><a name="a.6.2" id="a.6.2"></a>6.2.  编译与安装</h2>
<p> 先添加用户maildrop,其UID和GID是mysql数据库字段UID和GID的值:</p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td>
<p>[root@mail src]# <span class="type">groupadd -g 450 maildrop</span></p>
<p>[root@mail src]# <span class="type">useradd -g 450 -u 450 -c maildrop
-M -d/data/mail -s/no/shell maildrop</span></p>
</td>
</tr>
</tbody></table>
<p> 编译maildrop,并增加mysql支持和限额支持:</p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td>
<p>[root@mail src]# <span class="type">tar -xvjf maildrop-1.6.3.tar.bz2 </span></p>
<p>[root@mail src]# <span class="type">cd maildrop-1.6.3 </span></p>
<p> </p>
<p>[root@mail maildrop-1.6.3]# <span class="type">./configure \</span></p>
<p>> <span class="type">--without-db --enable-sendmail=/usr/sbin/sendmail
\</span></p>
<p>> <span class="type">--enable-trusted-users='root maildrop' \</span></p>
<p>> <span class="type">--enable-maildropmysql --with-mysqlconfig=/etc/maildrop.mysql \</span></p>
<p>> <span class="type">--enable-maildirquota --with-trashquota </span><span class="type">--with-dirsync</span></p>
<p>[root@mail maildrop-1.6.3]# <span class="type">make</span></p>
<p>[root@mail maildrop-1.6.3]# <span class="type">make install-strip </span></p>
<p>[root@mail maildrop-1.6.3]# <span class="type">make install-man</span></p>
<p>[root@mail maildrop-1.6.3]# <span class="type">cp maildropmysql.config
/etc/maildrop.mysql </span></p></td>
</tr>
</tbody></table>
<h2><a name="a.6.3" id="a.6.3"></a>6.3.  配置</h2>
<p> 然后编辑配置文件/etc/maildrop.mysql:</p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td>
<p>[root@mail maildrop-1.6.3]# <span class="type">vi /etc/maildrop.mysql</span></p> </td>
</tr>
</tbody></table>
<p> 内容如下</p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td bgcolor="#ffffcc"><p>hostname localhost<br>
port 3306<br>
socket /var/lib/mysql/mysql.sock<br>
database mail<br>
dbuser mail<br>
dbpw secret<br>
dbtable USER<br>
default_uidnumber 450<br>
default_gidnumner 450<br>
uid_field MAIL <br>
uidnumber_field UID<br>
gidnumber_field GID<br>
maildir_field MAILDIR<br>
homedirectory_field HOMEDIR<br>
quota_field QUOTA<br>
mailstatus_field STATUS<br>
where_clause
"" <br>
</p> </td>
</tr>
</tbody></table>
<p> </p>
<h1><a name="a.7"></a>7.  安装Postfix</h1>
<h2><a name="a.7.1"></a>7.1.  下载</h2>
<p> <a href="javascript:if(confirm('http://www.postfix.org/ftp-sites.html \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.postfix.org/ftp-sites.html'" tppabs="http://www.postfix.org/ftp-sites.html" target="_top">http://www.postfix.org/ftp-sites.html</a></p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td> <p>[root@mail maildrop-1.6.3]# <span class="type">cd /usr/src</span></p>
<p>[root@mail src]# <span class="type">wget <a href="javascript:if(confirm('http://postfix.energybeam.com/source/official/postfix-2.0.16.tar.gz \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://postfix.energybeam.com/source/official/postfix-2.0.16.tar.gz'" tppabs="http://postfix.energybeam.com/source/official/postfix-2.0.16.tar.gz">http://postfix.energybeam.com/source/official/postfix-2.0.16.tar.gz</a>
</span> </p></td>
</tr>
</tbody></table>
<h2><a name="a.7.2"></a>7.2.  编译与安装</h2>
<p> 如果你的系统上原来有sendmail,先将其停止并将其文件改名:</p>
<table border="0" width="100%" bgcolor="#ccffcc">
<tbody><tr>
<td> <p>[root@mail src]# <span class="type">/etc/init.d/sendmail stop</span></p>
<p>[root@mail src]# <span class="type">chkconfig --level 0123456 sendmail
off</span><br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -