Linux系統(tǒng)郵件服務器的搭建過程解析 |
發(fā)布時間: 2012/8/13 9:43:08 |
1.用以下命令查看系統(tǒng)是否安裝了sendmail: [root@mail/root]#rpm–qa|grepsendmail sendmail-8.11.0-8 2.卸載sendmail: [root@mail/root]#rpm-esendmail–nodeps 3.用以下命令殺死運行中的sendmail進程: [root@mail/root]#killallsendmail 如果系統(tǒng)提示: sendmail:noprocesskilled 則說明當前系統(tǒng)中沒有sendmail進程。 4.安裝postfix: [root@mail/root]#rpm-ivhpostfix-20010228release-2.i386.rpm 若已經(jīng)安裝,則此步可以省略。(注:安裝時最好用rpm包,會自動創(chuàng)建postfix用戶和postfix組) 5.安裝imap rpm–ivh/mnt/cdrom/RedHat/RPMS/imap-4.7c2-12.rpm imap使pop3有效,即打開110端口。(注:安裝時最好用rpm包) 若已經(jīng)安裝,則此步可以省略。 6.檢查系統(tǒng)中是否安裝了cyrus-sasl 執(zhí)行以下命令查看系統(tǒng)中是否安裝了cyrus-sasl: rpm–qa|grepcyurs 如果您看到以下提示,則說明已經(jīng)安裝了cyrus-sasl [root@testbye2000]#rpm-qa|grepsasl cyrus-sasl-devel-1.5.24-17 cyrus-sasl-1.5.24-17 否則,請用rpm–ivh命令先安裝所需sasl-cyrus包。 7.修改postfix用戶 同時應該讓該用戶不能登錄到系統(tǒng),也即不為該用戶指定可執(zhí)行的登錄外殼程序和可用 的用戶宿主目錄。 編輯/etc/passwd文件中的相關(guān)條目如下所示: postfix:x:89:89::/no/where:/no/shell[編輯后,只修改藍色部分就可以了] 即:修改用戶的Homedirectory和Shell參照/etc/passwd文件 8.編輯postfix的主要配置文件/etc/postfix/main.cf,根據(jù)需求只需修改以下幾個參數(shù): 1)mydomain 指明你的域名,在這里我們指定: mydomain=xx.com 2)myorigin myorigin參數(shù)指明發(fā)件人所在的域名。如果你的用戶的郵件地址為user@domain.com,則該參數(shù)指定@后面的域名。在這里我們指定: myorigin=$mydomain 3)inet_interfaces inet_interfaces=all監(jiān)聽所有端口 4)mydestination mydestination參數(shù)指定postfix接收郵件時收件人的域名,換句話說,也就是你的postfix 系統(tǒng)要接收什么樣的郵件。通常與myorigin一樣: mydestination=$mydomain 5)mynetworks_style 設(shè)置網(wǎng)絡(luò)類型,我們指定: mynetworks_style=subnet 6)ynetworks 定義可以使用的此smtp服務器發(fā)信的客戶ip地址,因為公司的ip范圍已知,所以我們 指定: mynetworks=192.168.1.0/24 注:此項可根據(jù)情況而定,主要是指定ip范圍,假如公司的ip劃分是按照網(wǎng)段來的,例如:10.10.1.0~10.10.1.9,10.10.3.0~10.10.3.9等等更細。根據(jù)需要,該項可以不設(shè)置。 7)SMTP的配置 為了告訴postfix采用sasl來進行SMTP的用戶認證,我們必須在/etc/postfix/main.cf文件的最后添加以下幾行: smtpd_sasl_auth_enable=yes smtpd_recipient_restrictions=permit_sasl_authenticated permit_auth_destinationreject broken_sasl_auth_clients=yes smtpd_sasl_security_options=noanonymous 說明如下: smtpd_sasl_auth_enable:告訴SMTP客戶,該SMTP服務器需要進行用戶認證。 smtpd_recipient_restrictions=permit_sasl_authenticated permit_auth_destinationreject 僅僅中繼通過SMTP認證的客戶端郵件,以及接收本postfix為最后一站的郵件。 broken_sasl_auth_clients=yes 有一些Microsoft的SMTP客戶端,比如OutlookExpress4.X采用的是非標準的SMTP認證協(xié)議,將該選項設(shè)置為yes可以解決這類不兼容問題。 smtpd_sasl_security_options=noanonymous 控制本地SMTP認證所采用的機制,這里是允許任何非匿名認證方法。 9.配置SASL 進入/usr/lib/sasl/目錄,用touch新建這樣一個文件: [root@testsasl]#touchsmtpd.conf 在該文件中加入以下內(nèi)容: [root@testsasl]#moresmtpd.conf pwcheck_method:pam 也就是指定通過PAM來進行用戶認證。 10.配置PAM 進入/etc/pam.d/目錄,用touch新建這樣一個文件: [root@testpam.d]#touchsmtp 在該文件中加入如下內(nèi)容: [root@testpam.d]#moresmtp #%PAM-1.0 authrequired/lib/security/pam_stack.soservice=system-auth accountrequired/lib/security/pam_stack.soservice=system-auth 也即和/etc/pam.d/pop文件的內(nèi)容是一致的。 11.修改/etc/shadow文件權(quán)限 因為PAM最終要去讀取/etc/shadow文件的內(nèi)容來進行用戶認證,但是/etc/shadow文件 權(quán)限是設(shè)置為只有root用戶可以讀寫,而我們的postfix是運行在postfix用戶權(quán)限之下,所以我們要合理的設(shè)置/etc/shadow文件權(quán)限,以便讓pam可以讀取其內(nèi)容。 執(zhí)行以下命令,讓root組也可以讀取shadow: [root@test/etc]#chmod640/etc/shadow 然后再將postfix用戶加入root組,采用以下命令: [root@test/etc]#usermod-Grootpostfix 12.編輯postfix的主要配置文件/etc/postfix/master.cf #======================================== #servicetypeprivateunprivchrootwakeupmaxproccommand+args #(yes)(yes)(yes)(never)(100) 本文出自:億恩科技【mszdt.com】 |