Postfix 电子邮件系统精要(1)(2)
1、下载所需的软件:照上面给出的地址找到下载URL,然后用wget下载。由于服务器一般不安装xwindow这样的桌面环境,那怎样知道下载文件的url呢?用windows呢,通过securecrt这样的ssh工具连接和管理远程linux服务器,这样就很容易办到了。在实际的工作中,我习惯把文件下载到/root目录,原因是普通用户看不见我下载的东西。
图 1 |
2、清理系统:不管你喜不喜欢,安装系统时sendmail这个邮件服务软件已经安装上去了,可是一山不容二虎,既然我们选定了功能强大的postfix,那么sendmail就一边歇着吧。运行命令 rpm -e -nodeps sendmail 就达到这个目的了。第2个需要卸载的软件是SASL,为什么要卸载它呢?因为系统自带的版本不太容易与authlib正常配合,所以需要把它删除掉。第3个要删除的是perl.本打算用系统自带的perl,可是在执行命令 perl -MCPAN -e shell时居然出现"segment fault",导致很多功能不能使用,看来也只好删了重装一个。下面总结一下这个过程:
1、SASL 1)列出包 rpm -qa | grep sasl cyrus-sasl- cyrus-sasl-gssapi- cyrus-sasl-devel- cyrus-sasl-ntlm- cyrus-sasl-md5- cyrus-sasl-sql- cyrus-sasl-plain- 2)删除包 rpm –e –nodeps cyrus-sasl- 然后进目录/usr/lib查一下 ls –al /usr/lib | grep sasl 应该没有目录sasl及sasl2了。 2、Perl 1)列出包 rpm -qa | grep perl perl-DateManip perl-XML-Encoding-1.01-26 perl-LDAP-0.31-5 perl-XML-LibXML-Common-0.13-7 groff-perl- openssl-perl- …………(省略若干) perl-suidperl- 2)删除包 rpm –e –nodeps perl-DateManip 执行完删除命令后,再运行命令perl –v,如果出现“-bash: perl: command not found”则表明已经把perl清理掉了。 |
3、创建邮件系统运行时所需的用户和组:创建用户和组绝不仅仅是为了练习userad和groupadd这两个命令,因为安全方面的原因,一些软件不能以root用户来运行,甚至在安装过程中,如果没有为该软件预先创建用户,安装将不能进行下去,因此,我们在这里先创建这些运行postfix系统所需的用户和组。对centos或redhat等发行版而言,用命令useradd创建用户时也就创建了一个同名的组,而另外一些linux发行版(如debian)或unix如solaris 10),创建用户时并不会同时创建同名的组,这需要手动执行命令单独创建所需的组。下面我用表格的方式列出postfix系统所需要创建的用户及组的情况:
用户名 |
组名 |
作用 |
备注 |
mysql |
Mysql |
数据库mysql运行用户 |
|
vmail |
Vmail |
Postfix虚拟邮件帐号所使用的用户及组 |
uid,gid:1001,1001 |
postfix |
Postfix |
Postfix主程序使用的帐号和组 |
|
|
Postdrop |
Postfix setgid_group |
setgid_group=postdrop |
amavis |
Amavis |
邮件扫描 |
|
clamav |
Clamav |
病毒扫描 |
|
这里有2个值得注意的地方,它们是vmail用户、组及postdrop组。在postfix邮件系统中,有好几个程序是以vmail来运行的这些情况将在后面逐个说明);postdrop这个组,我看了很多人写的文档,无一例外的都有创建这个组的操作,但没有任何人说明这个组是干什么用的,给人很突兀的感觉,因此我在这里特别把它列出来了-它的作用是setgid_group-在postfix的主配置文件main.cf里标明了的。
[root@mail ~]# grep postdrop /etc/postfix/main.cf setgid_group = postdrop |
评论暂时关闭