sendmail 服务器的设置

由 txkss 在 12-23-2002 12:14 发表:

sendmail 服务器的设置

http://61.132.47.12/work/RedHat-lin...C9%E8%D6%C3.htm

sendmail 服务器的设置

S e n d m a i l 对一般的系统管理者而言,往往是个难点,因为系统的使用者对E - m a i l 的需求与依赖程度高,不能有分毫差错。

Sendmail 8.9.3.1 是目前Sendmail 8.9.x 系列的最高版本。系统安全方面,是目前评价最好的,目前已知的BUG 都已经改好了。因为本软件是一public domain ,可以在网路上各f t ps e r v e r 上找到其source code 。由于该软件的发展者把一些必要的设定步骤自动化了,所以,其实安装这个软件并不是非常的困难。

S e n d m a i l 的安装分成几个步骤:

  1. 获取此软件:(通过f t p 相关站点或直接从安装光盘上获取),至少要有

sendmail.8.9.3.1.base.tar.gz

sendmail.8.9.3.1.cf.tar.gz

sendmail.8.9.3.1.xdoc.tar.gz

这三个文件,其中,第一个文件是此软件的程序;第二个文件是此软件的设定,此二者

是必要的文档;第三个是文本文件,如果不想看,可以不要。得到以上文件以后,解开文件。

建议管理者读一读此软件的相关文件。

  1. 全解压开后应该会在该目录下建立几个目录,其中程序是在"~/ s e n d m a i l / s r c "的目录下,设定文件在"~/ s e n d m a i l / c f "目录下。请1 转换至"~/ s e n d m a i l / s r c "的目录,用ls 命令

可以看到许多名Makefile.xxx 的文件档案。请使用者找到一个适合自己系统的m a k e f i l e ,如:假设是用IBM AIX 的系统,那就使用M a k e f i l e . A I X ;用H P 的系统,那就用M a k e f i l e . H P - U X ;如果是Sun 系统,那就用M a k e f i l e . S u n O S . x . x ,但如果是SunOS 4.1.3 ,就得要用M a k e f i l e . S u n O S 这个m a k e f i l e 文件,而如果是Solaris 2.3 ,则得要用M a k e f i l e . S u n O S . 5 . x 。用v i或任何其他编辑器,调出刚挑出的m a k e f i l e 文件,做一点点必要的修改。所要修改的地方不多,下面是可能要修改的地方:

o "CC ="如果原文件所用的c o m p i l e r 并不是自己系统的,这才要改。

o 本系统是否有安装Berkerlay 的New database ?如果有,跳过本点,到第3 点。如果没有

(如:一般SunOS 都没有装),那么请修改这几行(下面以M a k e f i l e . S u n O S 为例,但其他系统也类似):

a .在DBMDEF= -DNDBM -DNEWDB -DNIS 一行,请改成:

DBMDEF= -DNDBM -DNIS(即去掉- D N E W D B )

b .把这两行R E M A R K 起来:

I N C D I R S = - I / u s r / s w w / i n c l u d e / d b

--> # INCDIRS=-I/usr/sww/include/db

L I B D I R S = - L / u s r / s w w / l i b

--> # LIBDIRS=-L/usr/sww/lib

c .修改LIBS= -ldb -ldbm -lresolv 这一行成:

LIBS= -ldbm -lresolv

(即去掉- d b )

把n r o ff 的"- m a n d o c "参数改成一般系统可以接受的"- m a n "(当然,这得依你的系统而定)。如果不改也并不会影响s e n d m a i l 的安装,只是不能看到格式化后的s e n d m a i l 相关文件罢了。

  1. 输入make -f Makefile.xxx 等待编译完毕。不过,笔者可以乘这个空文件把旧的s e n d m a i l相关文件案备份起来,以防万一有什么不测,还可以有所储备)。要备份的文件是:

/usr/lib/sendmail 和s e n d m a i l . c f (后者所在位置得依原系统而定,不过,一般都是在/ e t c 下或/ e t c / m a i l 下)。有一点要记住的是,原来的/usr/lib/sendmail 是个suid root 的程序,备份的请记住执行chmod u-s xxxx ,要不然,留着这样一个suid root 的程序,也是会让人有机可乘的!

  1. 此一步骤也可以在compile 程序时进行,就是要产生系统设定文件,即sendmail.cf 。

请切换至设定文件目录~/sendmail/cf/cf 之下。找一个合适自己系统的x x x x . m c 文件。笔者一般是使用tcpproto.mc 这一个不用u u c p 的文件。如果是用tcpproto.mc 这个文件,笔者在solaris 2.3 试了,在文件中要加上一行:OSTYPE(solaris2) ,如果不小心忘了加上O S T Y P E ( ),会有"unknow mailer "的错误,然后信寄不出去。

选定了某一个合意的.mc 文件,接下来可执行m 4 产生.cf 文件。请用下面指令:

m4 XXX.mc > YYY.cf如果是sun 4.1.3 ,可能系统会抱怨m 4 的版本太旧了。请试用:

/usr/5bin/m4 XXX.mc >YYY.cf

若还是不行,那就去找新版的m 4 回来c o m p i l e 。

产生出来的Y Y Y. c f 一般得要改某个地方才能正常地收信。请寻找"C w ",原来产

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus