下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、,Linux服務(wù)器配置與管理 作者:馮昊 清華大學(xué)出版社,第10章 配置qmail郵件服務(wù)器,10.1 郵件服務(wù)系統(tǒng)簡介,電子郵件服務(wù)系統(tǒng)由郵件傳輸代理(Mail Transfer Agent,縮寫為MTA)和郵件用戶代理(Mail User Agent,縮寫為MUA)兩部分構(gòu)成 。 郵件用戶代理就是郵件系統(tǒng)的客戶端程序,比如常用的Foxmail、Outlook等。另外,目前也常通過Web頁面來進(jìn)行郵件的收發(fā)。 郵件服務(wù)器屬于服務(wù)器端程序,其職責(zé)一般為: 接收和傳遞(轉(zhuǎn)發(fā))由客戶端發(fā)送的郵件。 為需要發(fā)送的郵件進(jìn)行排隊(duì)。 接收從其他郵件服務(wù)器轉(zhuǎn)發(fā)來的用戶郵件,并將郵件放置在一個(gè)指定的存儲(chǔ)區(qū)域,
2、直到用戶連接本郵件服務(wù)器收回郵件。 根據(jù)設(shè)定的條件,有選擇地轉(zhuǎn)發(fā)或拒絕轉(zhuǎn)發(fā)用戶的郵件,或有選擇地拒絕接收用戶的郵件(郵件過濾)。,1. 郵件系統(tǒng)的組成,10.1 郵件服務(wù)系統(tǒng)簡介,發(fā)送郵件使用SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協(xié)議)協(xié)議來實(shí)現(xiàn)的,是最基本的Internet郵件服務(wù)協(xié)議,該協(xié)議使用TCP 25號(hào)端口。ESMTP稱為擴(kuò)展的SMTP,增加了發(fā)件認(rèn)證功能。 接收郵件可使用POP3(Post Office Protocol,郵局協(xié)議) 或IMAP協(xié)議。POP3允許用戶從郵件服務(wù)器接收郵件的協(xié)議,常與SMTP協(xié)議相結(jié)合使用,POP3是目前較常
3、用的電子郵件服務(wù)協(xié)議。該協(xié)議使用TCP 110號(hào)端口。 IMAP是Internet Message Access Protocol的縮寫,稱為Internet消息訪問協(xié)議,目前常用的是版本4,即IMAP4,為用戶提供了有選擇性的從郵件服務(wù)器接收郵件、基于服務(wù)器的信息處理和共享郵箱等功能。,2. 郵件系統(tǒng)使用的協(xié)議,10.1 郵件服務(wù)系統(tǒng)簡介,MIME協(xié)議是多用途Internet郵件擴(kuò)展(Multipurpose Internet Mail Extensions),作為對(duì)SMTP協(xié)議的擴(kuò)展,MIME規(guī)定了通過SMTP協(xié)議傳輸非文本電子郵件附件的標(biāo)準(zhǔn)。 Linux/Unix平臺(tái)常用的郵件服務(wù)器(M
4、TA)主要有Sendmail、Postfix和qmail。Sendmail和Postfix是Red Hat Linux自帶和默認(rèn)安裝的郵件服務(wù)器。Sendmail在UNIX系統(tǒng)中屬元老級(jí)的郵件傳送代理,但配置比較麻煩,安全性較差。 qmail可運(yùn)行在UNIX/Linux系統(tǒng),是面向安全而設(shè)計(jì)的,其目標(biāo)是比Sendmail更容易使用,并且運(yùn)行更快速、高效和更安全,是目前最受歡迎的一種郵件服務(wù)器之一 。,2. 郵件系統(tǒng)使用的協(xié)議,10.1 郵件服務(wù)系統(tǒng)簡介,安全性更高 qmail采用模塊化設(shè)計(jì),將郵件處理分為多個(gè)過程,采用不同的進(jìn)程來分別實(shí)現(xiàn),并盡量避免使用root用戶運(yùn)行。 可靠性更高 為了保證
5、可靠性,qmail只有在郵件被正確地寫入到磁盤才返回處理成功的結(jié)果,這樣即使在磁盤寫入中發(fā)生系統(tǒng)崩潰或斷電等情況,也可以保證郵件不被丟失,而是重新投遞。 運(yùn)行更高效 qmail支持郵件的并行投遞,缺省配置情況下, 能夠達(dá)到20個(gè)并行郵件同時(shí)傳送。,. qmail的優(yōu)點(diǎn),10.2 qmail工作流程,qmail是采用模塊化設(shè)計(jì)的郵件服務(wù)器,提供本地和遠(yuǎn)程郵件的傳送和轉(zhuǎn)發(fā),每一個(gè)子功能都是由一個(gè)程序(進(jìn)程)來實(shí)現(xiàn)的,每個(gè)程序的運(yùn)行方式,則是由一個(gè)或多個(gè)配置文件和環(huán)境變量來共同控制的。 qmail的進(jìn)程由相應(yīng)的程序啟動(dòng),這些程序位于/var/qmail/bin目錄中。,1. qmail簡介,10.2
6、 qmail工作流程,(1) qmail-smtpd與qmail-inject qmail-smtpd進(jìn)程以qmaild用戶身份運(yùn)行,用于接收/拒收通過SMTP傳遞的郵件,若允許發(fā)送,則將郵件傳遞給qmail-queue進(jìn)程處理。 qmail-smtpd并不常駐內(nèi)存,可用tcpserver或xinetd服務(wù)管理器來激活。tcpserver可監(jiān)視系統(tǒng)的IP連接請(qǐng)求,若偵聽到SMTP連接請(qǐng)求,tcpserver就會(huì)啟動(dòng)qmail-smtpd進(jìn)程,然后將連接請(qǐng)求交由qmail-smtpd處理,SMTP連接建立后,遠(yuǎn)端主機(jī)就可將郵件投遞到本郵件服務(wù)器了。 qmail-inject進(jìn)程則用于接收本地域郵
7、件用戶投遞的郵件,并將郵件傳遞給qmail-queue進(jìn)程處理。,2. qmail主要進(jìn)程簡介,10.2 qmail工作流程,(2) qmail-queue 該進(jìn)程處理從qmail-smtpd和qmail-inject傳遞過來的郵件,并將這些郵件傳遞到郵件隊(duì)列中。 (3) qmail-send 該進(jìn)程以qmails用戶身份運(yùn)行,用于投遞來自消息隊(duì)列的郵件。當(dāng)一個(gè)郵件被放入郵件隊(duì)列之后,qmail-send就開始對(duì)該郵件進(jìn)行處理,它會(huì)檢查郵件隊(duì)列中的每一個(gè)郵件的狀態(tài),對(duì)于沒有投遞過的和投遞暫時(shí)失敗的郵件,qmail-send會(huì)將目標(biāo)地址是本地主機(jī)的傳遞給qmail-lspawn,目標(biāo)地址是遠(yuǎn)端主
8、機(jī)的傳遞給qmail-rspawn,對(duì)于投遞永久失敗的郵件,qmail-send將把該郵件傳遞給qmail-clean,讓其永久刪除該郵件。,2. qmail主要進(jìn)程簡介,10.2 qmail工作流程,(4) qmail-rspawn與qmail-lspawn qmail-rspawn進(jìn)程常駐內(nèi)存,以qmailr用戶身份運(yùn)行,其作用是調(diào)度郵件投遞的時(shí)間和順序,然后啟動(dòng)qmail-remote進(jìn)程完成與目標(biāo)郵件服務(wù)器的連接和郵件的投遞。qmail-lspawn與qmail-rspawn功能相似,它啟動(dòng)qmail-local進(jìn)程,來完成目標(biāo)地址是本地域的郵件的投遞,以root身份運(yùn)行該進(jìn)程。 (5
9、) qmail-clean 該進(jìn)程也是常駐內(nèi)存,其作用是從郵件隊(duì)列中刪除投遞永久失敗的郵件,以qmailq用戶身份運(yùn)行。,2. qmail主要進(jìn)程簡介,10.2 qmail工作流程,(6) qmail-remote與qmail-local qmail-remote進(jìn)程通過SMTP協(xié)議將郵件投遞給遠(yuǎn)端的用戶,默認(rèn)允許運(yùn)行20個(gè)qmail-remote并發(fā)進(jìn)程。一個(gè)qmail-remote進(jìn)程每次只能同一個(gè)遠(yuǎn)端主機(jī)(目標(biāo)郵件服務(wù)器)連接,在連接時(shí),可以同時(shí)投遞在這個(gè)遠(yuǎn)端主機(jī)上的多個(gè)接收者的郵件。 qmail-local進(jìn)程用于投遞目標(biāo)地址是本地郵件服務(wù)器的郵件,并負(fù)責(zé)將郵件投遞到本地郵件用戶的郵箱
10、中,默認(rèn)允許運(yùn)行10個(gè)qmail-local并發(fā)進(jìn)程。,2. qmail主要進(jìn)程簡介,10.2 qmail工作流程,10.2 qmail工作流程,7qmail-popup與qmail-pop3d qmail-popup進(jìn)程用于通過網(wǎng)絡(luò)獲取客戶端提交的pop賬戶和密碼,然后調(diào)用vchkpw程序?qū)τ脩羯矸葸M(jìn)行驗(yàn)證,并設(shè)置相應(yīng)的環(huán)境變量,驗(yàn)證通過后,再交給qmail-pop3d進(jìn)程處理,實(shí)現(xiàn)用戶郵件的讀取或刪除。qmail-pop3d是POP3的后臺(tái)服務(wù)程序,是qmail自帶的POP服務(wù)器。 qmail-popup進(jìn)程通常用tcpserver或xinetd服務(wù)管理器來對(duì)其進(jìn)行管理,并在110端口進(jìn)行
11、監(jiān)聽POP連接請(qǐng)求。,2. qmail主要進(jìn)程簡介,10.3 安裝qmail郵件服務(wù)器,netqmail-1.05.tar.gz qmail 1.05基本系統(tǒng)軟件包 qmail-smtpd-auth-0.31.tar.gz SMTP發(fā)信認(rèn)證補(bǔ)丁程序,使qmail支持ESMTP ucspi-tcp-0.88.tar.gz 提供tcpserver服務(wù) checkpassword-0.90.tar.gz pop用戶驗(yàn)證程序 cmd5checkpw-0.22.tar.gz pop用戶驗(yàn)證程序 vpopmail-5.4.6.tar.gz 基于qmail的虛擬郵件域創(chuàng)建管理程序 sqwebmail-4.0
12、.7.tar.bz2 一個(gè)web界面的郵件客戶端,使用CGI實(shí)現(xiàn)。 igenus_21.0.1_20040713_release.tgz web界面的郵件客戶端,使用php實(shí)現(xiàn)。 vqsignup-0.5.tar.gz 提供web方式的郵件用戶注冊(cè) ezmlm-0.53.tar.gz提供用戶郵件列表管理。 autorespond-2.0.4.tar.gz郵件自動(dòng)回復(fù)程序 qmailadmin-1.2.2.tar.gz提供web界面來管理vpopmail郵件域 daemontools-0.76.tar.gz用于對(duì)qmail進(jìn)程進(jìn)行管理 courier-imap-3.0.7.tar.bz2使qma
13、il支持IMAP4服務(wù)的軟件包。,. 相關(guān)軟件包,10.3 安裝qmail郵件服務(wù)器, 申請(qǐng)注冊(cè)域名,并設(shè)置該域的MX記錄 此處假設(shè)已申請(qǐng)了域名,用于web服務(wù),作為郵件服務(wù)器的主機(jī)名。 必須添加MX記錄,并將域名解析為郵件服務(wù)器的IP地址。 (2) 檢查MX是否生效 可使用nslookup命令來檢查域名的MX記錄是否添加和生效。操作命令為: C:nslookup server 61.128.192.68 set type=mx ,2. 安裝前的準(zhǔn)備工作,10.3 安裝qmail郵件服務(wù)器,檢查域的MX記錄是否生效,10.3 安裝qmail郵件服務(wù)器,(3) 卸載Sendmail Red Ha
14、t Linux 9默認(rèn)安裝了Sendmail,有的可能還安裝了postfix郵件服務(wù)器,在決定安裝使用qmail之前,應(yīng)先卸載已安裝的郵件服務(wù)器,其實(shí)現(xiàn)命令為: rootrh9 root# rpm -e sendmail -nodeps #刪除sendmail郵件服務(wù)器 rootrh9 root# rpm -e postfix -nodeps #刪除postfix郵件服務(wù)器 rootrh9 root# rm -rf /var/mail #刪除郵件目錄,2. 安裝前的準(zhǔn)備工作,10.3 安裝qmail郵件服務(wù)器,(4)創(chuàng)建qmail和vpopmail所需的用戶和用戶組 qmail的工作目錄默認(rèn)為
15、/var/qmail,若要更改,可在編譯qmail之前,編輯源代碼目錄中的conf-qmail文件。 qmail工作時(shí)將要用到名為qmail和nofiles的用戶組,以及一些用戶賬戶,在編譯安裝qmail之前必須事先創(chuàng)建好。創(chuàng)建方法為: rootrh9 root# mkdir /var/qmail #創(chuàng)建qmail工作目錄 rootrh9 root# groupadd -g 91 nofiles rootrh9 root# useradd -g nofiles -u 91 -s /bin/false -d /var/qmail/alias alias rootrh9 root# useradd
16、 -g nofiles -u 92 -s /bin/false -d /var/qmail qmaild rootrh9 root# useradd -g nofiles -u 93 -s /bin/false -d /var/qmail qmaill rootrh9 root# useradd -g nofiles -u 94 -s /bin/false -d /var/qmail qmailp rootrh9 root# groupadd -g 92 qmail rootrh9 root# useradd -g qmail -u 95 -s /bin/false -d /var/qmail
17、 qmailq rootrh9 root# useradd -g qmail -u 96 -s /bin/false -d /var/qmail qmailr rootrh9 root# useradd -g qmail -u 90 -s /bin/false -d /var/qmail qmails,2. 安裝前的準(zhǔn)備工作,10.3 安裝qmail郵件服務(wù)器,(1)編譯安裝qmail rootrh9 root# cd /usr/local/src/qmail rootrh9 qmail# tar -zxvf netqmail-1.05.tar.gz rootrh9 qmail# cd net
18、qmail-1.05 rootrh9 netqmail-1.05# ls rootrh9 netqmail-1.05# ./collate.sh #打補(bǔ)丁,將1.03升級(jí)到1.05 rootrh9 netqmail-1.05# ls rootrh9 netqmail-1.05# bunzip2 -c ./qmail-toaster-0.6-1.patch.bz2 | patch -p0 rootrh9 netqmail-1.05#cd netqmail-1.05 下面為TLS(SSL)補(bǔ)丁所需的include文件創(chuàng)建符號(hào)連接,需要系統(tǒng)安裝有openssl。 rootrh9 netqmail-1
19、.05# ln -s /usr/kerberos/include/com_err.h /usr/kerberos/include/krb5.h ,3安裝qmail 1.05軟件包,10.3 安裝qmail郵件服務(wù)器,rootrh9 netqmail-1.05#make WITH_QMAILQUEUE_PATCH=yes setup check (2) 配置郵件域名 rootrh9 qmail-1.03# ./config-fast 下面啟用郵件發(fā)送者信封域名檢查,以檢查郵件的信封中是否有合法的DNS域名,以防止垃圾郵件。 rootrh9 netqmail-1.05#echo 1 /var/qm
20、ail/control/mfcheck (3)建立qmail需要的系統(tǒng)別名 rootrh9 qmail-1.03# cd alias rootrh9 alias# touch .qmail-postmaster .qmail-mailer-daemon .qmail-root rootrh9 alias# chmod 2755 alias rootrh9 alias# chmod 644 alias/.qmail*,3安裝qmail 1.05軟件包,10.3 安裝qmail郵件服務(wù)器,rootrh9 alias#echo mailmaster /var/qmail/alias/.qmail-p
21、ostmaster rootrh9 alias#echo mailmaster /var/qmail/alias/.qmail-root (4)創(chuàng)建sendmail的符號(hào)連接 很多程序默認(rèn)調(diào)用sendmail來發(fā)送郵件,在刪除sendmail郵件服務(wù)器后,需要利用qmal提供的sendmail程序,在原sendmail所在的位置,創(chuàng)建一個(gè)sendmail的符號(hào)鏈接,其創(chuàng)建方法為: ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail ln -s /var/qmail/bin/sendmail /usr/lib/sendmail 若不創(chuàng)建該鏈接,原來依
22、賴于sendmail發(fā)信的程序,可能無法正常發(fā)送郵件。,3安裝qmail 1.05軟件包,10.3 安裝qmail郵件服務(wù)器,(5)設(shè)置qmail使用Maildir郵箱格式 rootrh9 qmail# cp /var/qmail/boot/home /var/qmail/rc rootrh9 qmail# vi /var/qmail/rc #編輯rc,將默認(rèn)的Mailbox更改為Maildir #!/bin/sh #Using splogger to send the log through syslog. #Using qmail-local to deliver messages to
23、/Maildir by default. exe env -PATH=/var/qmail/bin:$PATH qmail-start ./Maildir/ splogger qmail 修改后存盤退出vi。,3安裝qmail 1.05軟件包,10.3 安裝qmail郵件服務(wù)器,rootrh9 qmail# chmod 755 /var/qmail/rc #設(shè)置為可執(zhí)行文件 以后就可通過執(zhí)行/var/qmail/rc來啟動(dòng)qmail的守護(hù)進(jìn)程了,啟動(dòng)時(shí)注意帶 cp cmd5checkpw.8 /usr/man/man8/,4安裝checkpassword和cmd5checkpw軟件包,10.3
24、 安裝qmail郵件服務(wù)器, 安裝tcpserver軟件包 rootrh9 qmail# tar -zxvf ucspi-tcp-0.88.tar.gz rootrh9 qmail# cd ucspi-tcp-0.88 rootrh9 ucspi-tcp-0.88# patch -p1 ./ucspi-tcp-0.88.a_record.patch rootrh9 ucspi-tcp-0.88# patch -p1 ./ucspi-tcp-0.88.errno.patch rootrh9 ucspi-tcp-0.88# patch -p1 ./ucspi-tcp-0.88.nobase.pat
25、ch rootrh9 ucspi-tcp-0.88# make rootrh9 ucspi-tcp-0.88# make setup check 其可執(zhí)行文件安裝在/usr/local/bin/目錄中,常用的主要有tcpserver和tcprules。,5tcpserver與郵件中繼,10.3 安裝qmail郵件服務(wù)器, qmail的郵件中繼控制 郵件中繼(Relay)簡介 郵件中繼(relay)是指服務(wù)器接受客戶端的smtp發(fā)信請(qǐng)求,并將客戶端發(fā)往第三方(非本域郵件用戶)的郵件進(jìn)行轉(zhuǎn)發(fā)。當(dāng)郵件服務(wù)器開放中繼功能后,若不對(duì)允許中繼的用戶進(jìn)行有效控制,郵件服務(wù)器將成為垃圾郵件轉(zhuǎn)發(fā)的中繼站。qma
26、il可使用發(fā)件認(rèn)證和中繼規(guī)則來防止郵件中繼被濫用。 對(duì)于具有發(fā)信認(rèn)證功能的ESMTP,在會(huì)話過程中,將驗(yàn)證用戶的身份(利用郵件賬戶和密碼),只有身份驗(yàn)證通過后,才允許該用戶發(fā)送郵件。發(fā)件認(rèn)證是目前防止轉(zhuǎn)發(fā)垃圾郵件的常用手段之一,對(duì)于擁用合法身份的郵件發(fā)送者,若要禁止其中繼或者要禁用某個(gè)或某些用戶對(duì)郵件服務(wù)器的訪問,則可進(jìn)一步使用中繼規(guī)則來進(jìn)行控制。,5tcpserver與郵件中繼,10.3 安裝qmail郵件服務(wù)器, 設(shè)置relay規(guī)則 qmail的qmail-smtpd進(jìn)程用于接收用戶的發(fā)信請(qǐng)求,并將其傳遞給郵件隊(duì)列處理,但該進(jìn)程并不常駐內(nèi)存,因此需要使用tcpserver進(jìn)程來監(jiān)聽SMTP
27、連接請(qǐng)求。當(dāng)有SMTP連接請(qǐng)求時(shí),tcpserver會(huì)根據(jù)中繼規(guī)則,決定是否允許該用戶連接,若允許,則為其設(shè)置相關(guān)環(huán)境變量,然后啟動(dòng)激活qmail-smtpd進(jìn)程,并將SMTP請(qǐng)求交給qmail-smtpd進(jìn)程處理,若當(dāng)前RELAYCLIENT環(huán)境變量被設(shè)置,則rcpthost文件將被忽略,此時(shí)允許用戶中繼;若RELAYCLIENT環(huán)境變量未被設(shè)置,則將拒絕中繼。因此,利用中繼控制文件,可實(shí)現(xiàn)SMTP的訪問控制。,5tcpserver與郵件中繼,10.3 安裝qmail郵件服務(wù)器,對(duì)中繼規(guī)則的設(shè)置,使用tcpserver的配置文件tcp.smtp來實(shí)現(xiàn),其配置命令用法為: IP地址或網(wǎng)絡(luò)號(hào):d
28、eny | allow , RELAYCLIENT= deny表示拒絕連接;allow表示允許連接;RELAYCLIENT=用于設(shè)置環(huán)境變量,以決定是否允許中繼。 比如,若允許轉(zhuǎn)發(fā)本地主機(jī)用戶所發(fā)送的郵件,則配置命令為: 127.0.0.1:allow, RELAYCLIENT= 若要禁止61.186.170.230用戶連接訪問郵件服務(wù)器,則配置命令為: 61.186.170.230:deny 中繼規(guī)則是使用SMTP請(qǐng)求者的IP地址來進(jìn)行控制的,一般適合于IP地址相對(duì)固定的情況。對(duì)于未明確設(shè)定的IP地址,中繼規(guī)則默認(rèn)為deny。,5tcpserver與郵件中繼,10.3 安裝qmail郵件服務(wù)
29、器,tcp.smtp文件建議存放/home/vpopmail/etc目錄中,vpopmail也需要使用該文件。 假設(shè)局域網(wǎng)用戶通過代理訪問Internet,代理服務(wù)器的IP地址為61.186.170.130,,允許內(nèi)網(wǎng)用戶的郵件轉(zhuǎn)發(fā)(中繼),則中繼控制文件的創(chuàng)建方法為: rootrh9 root# mkdir -p /home/vpopmail/etc rootrh9 root# vi /home/vpopmail/etc/tcp.smtp 127.0.0.1:allow, RELAYCLIENT= 61.186.170.130:allow,RELAYCLIENT= :allow,5tcpse
30、rver與郵件中繼,10.3 安裝qmail郵件服務(wù)器,tcpserver并不直接使用tcp.smtp文件,中繼規(guī)則設(shè)置好后,需要將其編譯轉(zhuǎn)換為cdb格式的中繼控制文件,才能被tcpserver識(shí)別和使用。轉(zhuǎn)換方法為: rootrh9 root# cd /home/vpopmail/etc rootrh9 etc# /usr/local/bin/tcprules tcp.smtp.cdb tcp.smtp.tmptcp.smtp rootrh9 etc#chmod 644 /home/vpopmail/etc/tcp.smtp.cdb 生成的tcp.smtp.cdb文件,將在后面啟動(dòng)SMTP服
31、務(wù)的命令行中通過-x參數(shù)引用。,5tcpserver與郵件中繼,10.3 安裝qmail郵件服務(wù)器,vpopmail是一個(gè)以qmail為基礎(chǔ)的虛擬郵件域管理軟件,利用vpopmail可創(chuàng)建多達(dá)2300個(gè)虛擬郵件域,每個(gè)域可創(chuàng)建2300個(gè)郵件用戶,并可實(shí)現(xiàn)對(duì)這些域和域中的用戶進(jìn)行管理。另外也可使用qmailadmin管理工具,利用web頁面實(shí)現(xiàn)對(duì)域和域中用戶的遠(yuǎn)程管理。 安裝前的準(zhǔn)備工作 vpopmail要使用MySQL數(shù)據(jù)庫,因此在安裝vpopmail之前,應(yīng)先安裝好MySQL數(shù)據(jù)庫服務(wù)器。 創(chuàng)建vpopmail所需的數(shù)據(jù)庫和用戶 vpopmail使用名為vpopmail的數(shù)據(jù)庫來存貯郵件服務(wù)
32、器域和用戶賬戶等信息。另外還要?jiǎng)?chuàng)建2個(gè)MySQL用戶賬戶,賬戶名可任意指定,一個(gè)只有讀(select)的權(quán)限,另一個(gè)有select,insert,update,delete,create,drop權(quán)限,權(quán)限級(jí)別為數(shù)據(jù)庫級(jí),只能對(duì)vpopmail數(shù)據(jù)庫進(jìn)行操作。,6安裝vpopmail,10.3 安裝qmail郵件服務(wù)器,創(chuàng)建方法為: rootrh9 root# /usr/local/mysql/bin/mysql -u root -h localhost -p mysqlcreate database vpopmail; mysqlshow databases; mysqlgrant sele
33、ct on vpopmail.* to vpoponlyreaduserlocalhost identified by password; mysqlgrant select,insert,update,delete,create,drop on vpopmail.* to vpopmailuserlocalhost identified by yourpassword; mysqlquit 注意為vpoponlyreaduser和vpopmail用戶設(shè)置登錄密碼。這兩個(gè)賬戶用于vpopmail進(jìn)程對(duì)vpopmail數(shù)據(jù)庫進(jìn)行連接和操作。,創(chuàng)建vpopmail所需的數(shù)據(jù)庫和用戶,10.3 安裝
34、qmail郵件服務(wù)器,vpopmail進(jìn)程使用名為/home/vpopmail/etc/vpopmail.mysql的配置文件,來提供用于連接MySQL數(shù)據(jù)庫的登錄連接信息,這些信息包括MySQL服務(wù)器的主機(jī)名,端口號(hào),MySQL用戶名、密碼和要訪問的數(shù)據(jù)庫,該配置文件的表達(dá)格式為: read_MySQLServer|read port|read_user|read_password|database_name update_MySQLServer|update port|update_user|update_password|database_name vpopmail.mysql配置文件的
35、創(chuàng)建方法為: rootrh9 qmail# mkdir vpopmail/etc rootrh9 qmail# vi vpopmail/etc/vpopmail.mysql localhost|0|vpoponlyreaduser|password|vpopmail localhost|0|vpopmailuser|yourpassword|vpopmail 保存并退出vi。, 創(chuàng)建vpopmail.mysql配置文件,10.3 安裝qmail郵件服務(wù)器,然后設(shè)置屬主和權(quán)限。 rootrh9 qmail#chown vpopmail.vchkpw vpopmail/etc/vpopmail.m
36、ysql rootrh9 qmail#chmod 640 vpopmail/etc/vpopmail.mysql 該配置文件在編譯安裝vpopmail之前,應(yīng)事先創(chuàng)建好。注意該文件的權(quán)限設(shè)置,不要為其他用戶分配權(quán)限,否則對(duì)MySQL數(shù)據(jù)庫服務(wù)器有很大的安全影響。, 創(chuàng)建vpopmail.mysql配置文件,10.3 安裝qmail郵件服務(wù)器, 解壓并查看配置選項(xiàng) rootrh9 root# cd /usr/local/src/qmail rootrh9 qmail# tar -zxvf vpopmail-5.4.6.tar.gz rootrh9 qmail# cd vpopmail-5.4.6
37、 rootrh9 vpopmail-5.4.6# ./configure -help | less #查看配置功能選項(xiàng) vpopmail配置選項(xiàng)簡介 vpopmail的配置項(xiàng)參見教材第272-274頁。 編譯安裝vpopmail /home/vpopmail/etc是vpopmail的配置文件目錄,郵件默認(rèn)域保存在defaultdomain文件中,默認(rèn)郵件域的用戶賬戶在身份認(rèn)證時(shí),可直接使用用戶名,而不需要指定域名信息。下面先將設(shè)置為默認(rèn)郵件域,然后再編譯安裝vpopmail。, 編譯安裝vpopmail,10.3 安裝qmail郵件服務(wù)器,rootrh9 vpopmail-5.4.6# mk
38、dir /home/vpopmail/etc rootrh9 vpopmail-5.4.6# echo /home/vpopmail/etc/defaultdomain rootrh9 vpopmail-5.4.6# chown -R vpopmail.vchkpw /home/vpopmail/etc rootrh9 vpopmail-5.4.6# ./configure -prefix=/home/vpopmail -enable-valias -enable-auth-module=mysql -enable-incdir=/usr/local/mysql/include/mysql -
39、enable-libdir=/usr/local/mysql/lib/mysql -disable-passwd -enable-vpopuser=vpopmail -enable-vpopgroup=vchkpw -enable-domainquotas -disable-mysql-limits -enable-auth-logging -enable-mysql-logging -enable-logging=e -enable-roaming-users -enable-tcprules-prog=/usr/local/bin/tcprules -enable-relay-clear-
40、minutes=40 -enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp -disable-ip-alias-domains -enable-default-domains=, 編譯安裝vpopmail,10.3 安裝qmail郵件服務(wù)器,rootrh9 vpopmail-5.4.6# make rootrh9 vpopmail-5.4.6# make install-strip vpopmail提供的對(duì)域的管理命令均存放在/home/vpopmail/bin目錄中。 創(chuàng)建虛擬域 vpopmail提供了對(duì)虛擬域的創(chuàng)建與刪除、郵件用戶的創(chuàng)建、修改
41、和刪除等操作。 復(fù)制MySQL共享庫到/usr/lib目錄 若MySQL的共享庫未安裝在標(biāo)準(zhǔn)的/usr/lib目錄中,則在執(zhí)行vadddomain命令前,應(yīng)將libmysqlclient.so.10共享庫復(fù)制到/usr/lib目錄中,否則在運(yùn)行vadddomain命令時(shí),將出現(xiàn)以下錯(cuò)誤提示信息: ./vaddomain: error while loading shared libraries: libmysqlclient.so.10: cannot open shared object file: No such file or directory rootrh9 root# cp /us
42、r/local/mysql/lib/mysql/libmysqlclient.so.10 /usr/lib, 編譯安裝vpopmail,10.3 安裝qmail郵件服務(wù)器, 創(chuàng)建與刪除虛擬域 使用vadddomain命令創(chuàng)建郵件虛擬域,其命令的用法為: vadddomain 域名 域管理員密碼 域管理員密碼實(shí)際上設(shè)置的是該域的postmaster郵件賬戶的密碼,該賬戶屬于管理員賬戶。在安裝了qmailadmin軟件包后,就可利用postmaster郵件賬戶和此處設(shè)置的密碼登錄,并實(shí)現(xiàn)對(duì)該域的管理。 比如,若要?jiǎng)?chuàng)建一個(gè)名為的郵件虛擬域,則創(chuàng)建命令為: rootrh9 root# cd /home
43、/vpopmail/bin rootrh9 bin# ./vadddomain snbj20010814 執(zhí)行該命令后,將在MySQL的vpopmail數(shù)據(jù)庫中,自動(dòng)生成4個(gè)數(shù)據(jù)表,其表名分別為dir_control、lastauth、vlog和vpopmail,其中vpopmail數(shù)據(jù)表用于存貯所有郵件虛擬域的郵件賬戶信息。, 編譯安裝vpopmail,10.3 安裝qmail郵件服務(wù)器,查看虛擬域?qū)?yīng)的數(shù)據(jù)表的操作命令為: rootrh9 bin# /usr/local/mysql/bin/mysql -u root -p Enter password: mysqlshow databas
44、es; mysqluse vpopmail; mysqlshow tables; mysqlselect * from vpopmail; #表中已創(chuàng)建出postmaster郵件賬戶 mysqlquit 執(zhí)行添加域的命令后,還會(huì)在vpopmail/domains目錄下面,創(chuàng)建出一個(gè)與域相同名稱的文件夾,該文件夾用于存放該域的用戶郵箱目錄Maildir。 若要?jiǎng)h除指定的虛擬域,則可使用vdeldomain命令,其用法為vdeldomain 域名。, 編譯安裝vpopmail,10.3 安裝qmail郵件服務(wù)器, 創(chuàng)建與刪除郵件用戶 郵件虛擬域創(chuàng)建好后,就可使用vadduser命令,為域添加郵件用
45、戶。為了表達(dá)該用戶是屬于哪一個(gè)域的,用戶名中必須包含域名信息,即要采用“用戶名虛擬域名”的方式來表達(dá),其命令用法為:vadduser 用戶名 用戶密碼 例如,若要在虛擬域,創(chuàng)建名為answer和mailmaster的郵件賬戶,并設(shè)置郵箱空間限額分別為20M和50M,則創(chuàng)建命令為: rootrh9 bin#./vadduser -q 20971520S snbjkl rootrh9 bin#./vadduser -q 52428800S hys0814 若要?jiǎng)h除某郵件用戶,則可使用vdeluser命令來實(shí)現(xiàn),命令用法為:vdeluser 用戶名 修改用戶賬戶的屬性,可使用vmoduser命令來實(shí)
46、現(xiàn),比如若要為mailmaster賬戶設(shè)置一個(gè)描述信息,則設(shè)置方法為: rootrh9 bin#./vmoduser -c for mail master. 賬戶的描述信息存貯在pw_gecos字段中。, 編譯安裝vpopmail,10.3 安裝qmail郵件服務(wù)器, 設(shè)置vchkpw的屬性和權(quán)限 設(shè)置vchkpw程序的屬主具有讀寫和s權(quán)限,所屬組和其他用戶具有讀和執(zhí)行權(quán)限。s權(quán)限可使用戶在需要時(shí)臨時(shí)具有root用戶的權(quán)限。 rootrh9 root# chmod 4755 /home/vpopmail/bin/vchkpw rootrh9 root# ll /home/vpopmail/bi
47、n/vchkpw -rwsr-xr-x 1 vpopmail vchkpw 64684 Aug 31 13:40 /home/vpopmail/bin/vchkpw 設(shè)置郵箱容量限額與限額警告信息 設(shè)置郵箱容量限額 對(duì)郵箱容量的配額,可通過vpopmail的配置文件來實(shí)現(xiàn)。設(shè)置默認(rèn)郵箱空間的大小,以及定義整個(gè)郵件域允許使用的磁盤空間和允許的郵件消息數(shù),可通過編輯修改配置文件vpopmail/etc/vlimits.default來實(shí)現(xiàn),該文件僅在.qmailadmin-limits文件不存在時(shí)生效。 rootrh9 vpopmail# vi vpopmail/etc/vlimits.defau
48、lt, 編譯安裝vpopmail,10.3 安裝qmail郵件服務(wù)器,根據(jù)需要進(jìn)行設(shè)置修改后,存盤退出vi。該配置文件已包含了對(duì)整個(gè)郵件域的設(shè)置,因此,.qmailadmin-limits文件通常就不再使用。 default_quota和default_maxmsgcount配置項(xiàng)用于設(shè)置默認(rèn)的郵箱空間大小和允許的消息數(shù),該設(shè)置是對(duì)每一個(gè)郵件賬戶的,設(shè)置好該配置項(xiàng)后,以后所創(chuàng)建的新用戶,將自動(dòng)應(yīng)用該規(guī)則。 默認(rèn)配置文件中該配置項(xiàng)前面加了#,進(jìn)行了注釋,并未啟用,可去掉前面的#來啟用,并根據(jù)需要修改默認(rèn)郵件空間的大小和允許的郵件數(shù)。啟用郵件空間限額后,在用戶的郵箱目錄Maildir目錄,就會(huì)增加
49、一個(gè)maildirsize文件,該文件記錄著該用戶允許使用的磁盤空間和允許的郵件數(shù)等信息。 另外還可利用vmoduser -q、vadduser或vsetuserquota命令來設(shè)置或修改用戶的郵箱容量配額。vsetuserquota后面若指定一個(gè)具體的郵件賬戶,則對(duì)該賬戶設(shè)置配額,若指定的是一個(gè)郵件域名,則對(duì)該郵件域進(jìn)行設(shè)置。, 設(shè)置郵箱容量限額,10.3 安裝qmail郵件服務(wù)器,例如,現(xiàn)添加一個(gè)名為的郵件賬戶,密碼為webhys,并設(shè)置郵箱容量為20M,允許的郵件數(shù)為500封,則實(shí)現(xiàn)的操作命令為: rootrh9 root# ./bin/vadduser -q 20971520S,500
50、C webhys rootrh9 root# cat /home/vpopmail/domains/ 20971520S,500C 0 0 另外也可使用vsetuserquota命令來設(shè)置。vadduser -q常用于創(chuàng)建新用戶時(shí),對(duì)其進(jìn)行設(shè)置,vsetuserquota用于對(duì)已存在的用戶進(jìn)行設(shè)置或修改。, 設(shè)置郵箱容量限額,10.3 安裝qmail郵件服務(wù)器,下面先創(chuàng)建一個(gè)測試用戶,然后進(jìn)行操作。 rootrh9 root# vpopmail/bin/vadduser 123 rootrh9 root#vpopmail/bin/vsetuserquota 20971520S,500C roo
51、trh9 root# cat vpopmail/domains/ 20971520S,500C 0 0 rootrh9 root# vpopmail/bin/vdeluser vpopmail/etc/.qmailadmin-limits文件用于對(duì)整個(gè)域允許使用的磁盤空間和允許的郵件數(shù)進(jìn)行設(shè)置和限制,其創(chuàng)建方法為: rootrh9 vpopmail# vi vpopmail/etc/.qmailadmin-limits quota 500 maxmsgcount 2000 編輯好后,存盤退出vi。quota的磁盤空間單位為Mb。, 設(shè)置郵箱容量限額,10.3 安裝qmail郵件服務(wù)器,在設(shè)置郵
52、箱的容量限額后,默認(rèn)情況下,當(dāng)達(dá)到或超過限額的90%時(shí),系統(tǒng)會(huì)自動(dòng)將限額警告信息文件中的內(nèi)容,發(fā)送到該用戶的郵箱中。 在vpopmail的源代碼中有限額警告消息文件quotawarn.msg的樣本,可將其復(fù)制成vpopmail/domains/.quotawarn.msg文件,然后根據(jù)需要進(jìn)行適當(dāng)?shù)男薷募纯伞?rootrh9 root# cd /usr/local/src/qmail/vpopmail-5.4.6 rootrh9 vpopmail-5.4.6#cp quotawarn.msg vpopmail/domains/.quotawarn.msg rootrh9 vpopmail-5.
53、4.6#chown vpopmail.vchkpw vpopmail/domains/.quotawarn.msg rootrh9 vpopmail-5.4.6#vi vpopmail/domains/.quotawarn.msg, 設(shè)置限額警告信息,10.3 安裝qmail郵件服務(wù)器, tcpserver命令簡介 qmail的smtp和pop3服務(wù),采用tcpserver服務(wù)管理器進(jìn)行管理。tcpserver用于接收請(qǐng)求的TCP連接,并將請(qǐng)求交給指定的進(jìn)程處理,基本用法為: tcpserver opts host port prog 其中opts參數(shù)-c用于指定允許運(yùn)行多少個(gè)prog子進(jìn)程,
54、默認(rèn)為40; -v顯示錯(cuò)誤和狀態(tài)消息; -x /etc/tcp.smtp.cdb用于指定中繼規(guī)則控制文件; -H不通過DNS反向查詢獲得遠(yuǎn)程主機(jī)的主機(jī)名; -R不查詢遠(yuǎn)程主機(jī)的信息,若不指定該參數(shù),qmail發(fā)完信后,會(huì)試圖連接客戶端的113號(hào)端口,會(huì)使發(fā)信過程顯得緩慢; -l localname表示不通過DNS查詢本地主機(jī)名,localname通常設(shè)置為數(shù)字0,即-l 0,設(shè)置使用-H -R -l 0,可加快發(fā)信過程; -u和-g用于設(shè)置運(yùn)行指定進(jìn)程的用戶名和用戶組。,7編寫SMTP和POP3服務(wù)啟動(dòng)腳本,10.3 安裝qmail郵件服務(wù)器,主機(jī)名host若設(shè)置為0,則代表偵聽本機(jī)的所有IP
55、地址。主機(jī)名也可用點(diǎn)分的IP地址來表達(dá)。 端口port若設(shè)置為0,表示自動(dòng)選擇沒有被使用的TCP端口,端口也通常用在/etc/services文件中定義的端口別名來表達(dá),比如smtp代表SMTP服務(wù)使用的TCP 25號(hào)端口,pop3代表POP3服務(wù)所使用的TCP 110號(hào)端口。 prog為要啟動(dòng)和管理的進(jìn)程程序,程序后面可帶所需的參數(shù)。 /var/qmail/rc啟動(dòng)腳本在前面已完成,它用于啟動(dòng)qmail郵件發(fā)送的一系列守護(hù)進(jìn)程。,7編寫SMTP和POP3服務(wù)啟動(dòng)腳本,10.3 安裝qmail郵件服務(wù)器, 編輯smtp服務(wù)啟動(dòng)腳本(/var/qmail/startsmtp) qmail-smt
56、pd進(jìn)程以qmaild用戶身份運(yùn)行,因此需要使用-u和-g參數(shù)為其指定用戶名和所屬的用戶組,該進(jìn)程用于接收用戶的SMTP發(fā)信請(qǐng)求。 rootrh9 root# vi /var/qmail/startsmtp #!/bin/sh QMAILDUID=qmaild NOFILESGID=nofiles /usr/local/bin/tcpserver -H -R -t 1 -l 0 -c 80 -v -x /home/vpopmail/etc/tcp.smtp.cdb -u $QMAILDUID -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd /h
57、ome/vpopmail/bin/vchkpw /bin/true /bin/cmd5checkpw /bin/true Tue,07 Sep 2004 15:37:17 +0800 Received: (qmail 2640 invoked from network); 7 Sep 2004 07:38:04 -0000 Received: from unknown (HELO snbj) (127.0.0.1) by 0 with SMTP;7 Sep 2004 07:38:04 -0000 Subject:mail test from:snbj this is a test! X-UID
58、L 321622537 .,7編寫SMTP和POP3服務(wù)啟動(dòng)腳本,10.3 安裝qmail郵件服務(wù)器,DELE 1 #刪除郵件,以郵件序號(hào)為參數(shù),該命令僅給郵件作刪除標(biāo)記,結(jié)束會(huì)話時(shí)才正式刪除。若要取消刪除,可執(zhí)行RSET命令,該命令沒有參數(shù)。 +OK msg deleted QUIT #結(jié)束會(huì)話,斷開POP連接 +OK Connection closed by foreign host.,7編寫SMTP和POP3服務(wù)啟動(dòng)腳本,10.4 安裝qmailadmin,qmailadmin是一個(gè)基于qmail的虛擬域管理軟件包,提供了基于web頁面的虛擬域管理方式。在安裝之前,應(yīng)先安裝好web服務(wù)器
59、的CGI支持,vpopmail,autorespond和ezmlm軟件包。,1安裝autorespond autorespond用于實(shí)現(xiàn)自動(dòng)回復(fù)郵件,最新軟件包為autorespond-2.0.4.tar.gz。 rootrh9 qmail# tar -zxvf autorespond-2.0.4.tar.gz rootrh9 qmail# cd autorespond-2.0.4 rootrh9 autorespond-2.0.4# make rootrh9 autorespond-2.0.4# make install 2安裝ezmlm ezmlm用于提供用戶郵件列表管理,最新的軟件包為ezmlm-0.53.tar.gz,ezmlm-idx-0.40.tar.gz是對(duì)ezmlm的一個(gè)功能擴(kuò)展,ezmlm-idx-0.53.400.unified_41.patch是ezmlm的“undefined r
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年宜昌大衛(wèi)保安服務(wù)有限公司招聘殯儀服務(wù)人員及公墓業(yè)務(wù)登記人員備考題庫有答案詳解
- 2026年中交營口液化天然氣有限公司招聘備考題庫及參考答案詳解1套
- 2026年天水市麥積區(qū)橋南社區(qū)醫(yī)院招聘備考題庫及參考答案詳解1套
- 2026年南京市溧水區(qū)教育局所屬高中公開招聘教師備考題庫及答案詳解1套
- 2026年同濟(jì)大學(xué)繼續(xù)教育學(xué)院招生專員崗位招聘備考題庫及參考答案詳解一套
- 2026年關(guān)于招聘薩嘎縣藝術(shù)團(tuán)演職人員的備考題庫及1套完整答案詳解
- 2026年博樂市克爾根卓街道快樂社區(qū)招聘備考題庫完整答案詳解
- 2025年瑞安市安保集團(tuán)有限公司公開招聘市場化用工人員備考題庫及1套參考答案詳解
- 2026年中國船舶重工集團(tuán)衡遠(yuǎn)科技有限公司招聘備考題庫及一套完整答案詳解
- 2026年天翼電信終端有限公司招聘備考題庫參考答案詳解
- 2025年高級(jí)經(jīng)濟(jì)師金融試題及答案
- 蘇少版七年級(jí)上冊(cè)2025秋美術(shù)期末測試卷(三套含答案)
- 2026年哈爾濱科學(xué)技術(shù)職業(yè)學(xué)院單招職業(yè)技能測試題庫帶答案詳解
- 涉融資性貿(mào)易案件審判白皮書(2020-2024)-上海二中院
- DB65∕T 8031-2024 高海拔地區(qū)民用建筑設(shè)計(jì)標(biāo)準(zhǔn)
- 2025年人社局工作考試題及答案
- 2026年山東力明科技職業(yè)學(xué)院單招職業(yè)技能考試題庫含答案詳解
- 2024年暨南大學(xué)馬克思主義基本原理概論期末考試題帶答案
- 2025內(nèi)蒙古能源集團(tuán)智慧運(yùn)維公司社會(huì)招聘(105人)筆試參考題庫附帶答案詳解(3卷)
- 2026元旦主題班會(huì):馬年猜猜樂新春祝福版 教學(xué)課件
- 基于大數(shù)據(jù)的機(jī)械故障診斷模型構(gòu)建
評(píng)論
0/150
提交評(píng)論