日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

這個(gè)問(wèn)題不該在這里問(wèn)哦!看看吧,一段SENDMAIL的設(shè)置。不過(guò)想要學(xué)得更好,還是要再找其它的資料的。

這個(gè)問(wèn)題不該在這里問(wèn)哦!看看吧,一段SENDMAIL的設(shè)置。不過(guò)想要學(xué)得更好,還是要再找其它的資料的。

更新時(shí)間:2022-05-14 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

Sendmail的配置


  Sendmail對(duì)一般的系統(tǒng)管理者而言,往往是個(gè)不敢手的「禁區(qū)」 ,因?yàn)榻^大多數(shù)系統(tǒng)的使用
者對(duì)E-Mail的需求與依賴的程度之高,可說(shuō)是稍有分毫差錯(cuò),系統(tǒng)管理者就要準(zhǔn)備接受如雪片般飛
來(lái)的抗議與 抱怨!而Sendmail這個(gè)東東的「內(nèi)函」,似乎又有點(diǎn)不太容易理解: 與設(shè)定有關(guān)
的sendmail.cf 檔,如果不是下過(guò)一番死功夫,則讀起來(lái)如同讀天書(shū)一樣,只知道里面有英文字與
數(shù)字!所以一般人總是能不 動(dòng)則不動(dòng),只要能用就好。不過(guò),很不幸的,一般跟著機(jī)器而來(lái)
的sendmail總是有著令人心驚膽跳的「附加功能」,就是常常都有一些可以讓無(wú)聊人士作為侵入路
徑的BUG 或後門,某些BUG 還可以讓侵入 者經(jīng)由Sendmail而取得最高權(quán)限的root!一旦root權(quán)限
被人拿走了, 那麼這機(jī)器就可被人任意屠宰,最惡劣的,還可能破壞系統(tǒng)!

  Sun 在國(guó)內(nèi)的使用人口相當(dāng)?shù)亩啵P者對(duì)Sun 也稍微比較熟悉一點(diǎn)。不過(guò),Sun的Sendmail卻
是令人頗不敢恭維的,幾乎可以說(shuō):只要還在使用Sun 的Sendmail而沒(méi)有「常常」patch 的話,那
甚麼系統(tǒng)安全都不必談了,談了也是白談;如果還在使用Sun 的Sendmail,那就如果系統(tǒng)抱著一顆
不定時(shí)炸彈,隨時(shí)一個(gè)不注意,都可能引爆:(。這一點(diǎn),大家可以翻一翻CERT或8lgm看一看,幾乎
是只要有sendmail 的問(wèn)題,Sun 大多跑了....。其他系統(tǒng)的Sendmail也不要偷笑,雖然大家的出
場(chǎng)率沒(méi)有Sun 高,可是也常會(huì)問(wèn)題的。 另一方面,Sendmail 8.6.9與之前的版本最近剛發(fā)現(xiàn)有
個(gè)ident方面的Bug 。如果方便的話,請(qǐng)大家務(wù)必?fù)Q成最新版。如果不方便的話,在v8.6.5之後的
版本有個(gè)克難式的補(bǔ)救法,即在sendmail.cf 加入這麼一行:
  Orident=0
  表示不作ident 的檢查。
  v8.6.5之前的版本就一定要換成最新版。

  本軟體在系統(tǒng)安全方面,是目前評(píng)價(jià)最高的,目前已知的BUG都已經(jīng)改好了,最主要的原因,
當(dāng)然是要感謝作者Eric Allman ,他(或他們)能作到一發(fā)現(xiàn)重大的Bug (如系統(tǒng)安裝)就立刻出新版
。本軟體是一public domain ,可以在網(wǎng)路上各ftp server上找到其source code。由於該軟體的
發(fā)展者把一些必要的設(shè)定步驟自動(dòng)化了,所以,其實(shí)安裝這個(gè)軟體并不是想像中那麼樣的困難。如
果連compile 的時(shí)間也算下去,順利的話,不用半個(gè)小時(shí)就可以安裝完畢!所以,「麥驚」啦!:


3.安裝Sendmail

3.1 下載Sendmail最新版本

  最新版本的Sendmail可以從 ftp://ftp.sendmail.org/pub/sendmail/ 得到!
如 sendmail.8.9.3.tar.gz 這是截止到文章發(fā)布的最新版本,size:1068290byte
有關(guān)最新版本的發(fā)布,請(qǐng)瀏覽Sendmail的主頁(yè) http://www.sendmail.org

3.2 安裝Sendmail

  用root登陸或su成root后,先把tar.gz的包解開(kāi)tar fvxz sendmail.8.9.3.tar.gz,用make
-f 開(kāi)始編譯

  編譯完成后系統(tǒng)會(huì)產(chǎn)生系統(tǒng)設(shè)定文件,也就是sendmail.cf (一般這個(gè)文件都存放在/etc下)

  接下來(lái),這按幾步繼續(xù)安裝: (注:~/sendmail為解開(kāi)后的sendmail目錄)

  1.請(qǐng)切換至設(shè)定檔目錄~/sendmail/cf/cf 之下。找一個(gè)合適自己系統(tǒng)的XXXX.mc檔。筆者一
般上是使用tcpproto.mc 這一個(gè)不用uucp的檔。如果是用tcpproto.mc 這個(gè)檔,筆者在solaris
2.3 試了,得記得在檔中要加上一行:
  OSTYPE(solaris2)
  Sun 4.1.3 不必,其他系統(tǒng)就不曉得了。在目錄 ~/sendmail/cf/ostype下有幾個(gè)OSTYPE()可
以的 檔,只有這個(gè)目錄有資料的才可能能夠OSTYPE()。還有, 如果是 system V的/bin/mail,似
乎就得要加OSTYPE()。
  一句老話,詳情請(qǐng)看DOCUMENT:~/sendmail/cf/README。這希望有經(jīng)驗(yàn)的朋友能夠補(bǔ)充:)
  如果不小心忘了加上OSTYPE()會(huì)怎樣?也不會(huì)怎樣,只會(huì)有"unknow mailer error" 的錯(cuò)誤,
然後信收不到。
  有一點(diǎn)要提醒大家的,就是:在~/sendmail/cf/cf 所看到的各種系統(tǒng)的.mc 檔,都
是Sendmail 8.6.x的作者 Eric Allman 「演示」給大家看的,所以,可以看到檔名都有個(gè)"cs",
要是沒(méi)有修改就用這些檔的話,那一定會(huì)發(fā)生錯(cuò)誤的。而要修改,有相當(dāng)多地方要改,所以,如筆
者一般懶的人,用tcpproto.mc 還是比較簡(jiǎn)單又不會(huì)出錯(cuò):)

  2.好,選定了某一個(gè)合意的.mc 檔,那接下來(lái)可執(zhí)行m4產(chǎn)生.cf 檔。請(qǐng)下指令:
# m4 XXX.mc > YYY.cf 如果是sun 4.1.3 ,可能系統(tǒng)會(huì)抱怨m4的版本太舊了。那請(qǐng)?jiān)囈辉囉茫?
  # /usr/5bin/m4 XXX.mc >YYY.cf
  要是還是不行,那就請(qǐng)去抓新版的m4回來(lái)compile (可以在 http://www.gnu.org 找到gnu
的m4)。

  這個(gè)步驟是要把compile好的files, install 到系統(tǒng)上去了。

  羅嗦的我還是得再一次提醒您看看:把舊檔案?jìng)浞莺昧藛幔?

  好,假設(shè)compile 的結(jié)果非常沒(méi)挑戰(zhàn)性的沒(méi)有任何錯(cuò)誤,產(chǎn)生.cf 檔過(guò)程也沒(méi)有甚麼值得注意
的訊息。所產(chǎn)生的.cf 檔 也改好了。而且最重要的:作好舊檔的備份(不是我要嚇人,這是以防
萬(wàn)一)。

  1.挑個(gè)老板沒(méi)有在用mail的時(shí)間,快手快腳的切換至目錄~/sendmail/src ,下指令:
  # make -f Makefile.XXX install
  系統(tǒng)會(huì)把compile出來(lái)的~/sendmail/src/sendmail與man document拷貝到它們?cè)撚械哪夸洠?br>所以你還如果沒(méi)有備份/usr/lib/sendmail ,那趕快祈禱待回不要出問(wèn)題,要不然就趕快準(zhǔn)備淚水
哭吧!
  因?yàn)榕f的會(huì)被compile 出來(lái)的sendmail覆蓋)

  2.切換至目錄~/sendmail/cf/cf ,把產(chǎn)生出來(lái)的YYY.cf檔拷貝到本系統(tǒng)sendmail.cf 應(yīng)該在
的地方,
  如:/etc或 /etc/mail 。

  3.把舊sendmail daemon 的process 殺掉。(這應(yīng)該不用我羅嗦吧!用ps -ax |grep
sendmail |grep -v grep 找出舊daemon的process(或head -1/etc/sendmail.pid 或 head -1
/etc/mail/sendmail.pid),然后用 kill -9 processID干掉它(或直接用 kill -9 `head -1
/etc/sendmail.pid`)。

  4.啟動(dòng)新daemon。例如下指令:
  /usr/lib/sendmail -bd -q30m
  當(dāng)然,保守一點(diǎn),看舊的daemon怎麼跑,照舊的來(lái)下參數(shù)應(yīng)該是沒(méi)有問(wèn)題。
  這時(shí),初步安裝就已經(jīng)完成了,接下來(lái)請(qǐng)看設(shè)置sendmail

3.3安裝Sendmail注意事項(xiàng)

  如果安裝不成功,請(qǐng)參考下面的問(wèn)題:
  用vi或任一種編輯器,編輯的makefile檔,作一點(diǎn)點(diǎn) 必要的修改。所要修改的地方不多,下
面是可能要修改的地方:

  1."CC ="如果原檔所用的compiler并不是我們系統(tǒng)的,這才要改。

  2.本系統(tǒng)是否有安裝Berkerlay 的New database?如果有,跳過(guò)本點(diǎn),到第3點(diǎn)。 如果沒(méi)有(
如:一般SunOS 都沒(méi)有裝),那麼請(qǐng)修改這幾 行(下面以Makefile.SunOS為例,但其他系統(tǒng)也類
似):

  A.在 DBMDEF= -DNDBM -DNEWDB -DNIS 一行,請(qǐng)改成: DBMDEF= -DNDBM -DNIS (即去
掉-DNEWDB)

  B.把這兩行REMARK起來(lái): INCDIRS=-I/usr/sww/include/db --> #
INCDIRS=-I/usr/sww/include/db
LIBDIRS=-L/usr/sww/lib --> # LIBDIRS=-L/usr/sww/lib

  C.修改LIBS= -ldb -ldbm -lresolv 這一行成: LIBS= -ldbm -lresolv (即去掉-db )

  3.把nroff 的"-mandoc "參數(shù)改成一般系統(tǒng)可以接受的 "-man"(當(dāng)然,這得依你的系統(tǒng)而定
,如果你是用groff,那就可以很愉快的直接使用,不必改這個(gè)參數(shù):)。如果不改也并不會(huì)影
響sendmail的安裝,只是不能看到格式化後的sendmail相關(guān)文件罷了。

  關(guān)于DIRECTORY PERMISSIONS的問(wèn)題你需要執(zhí)行2條命令:

  chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue
  chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue

  許多系統(tǒng)的spool目錄使用/usr/spool來(lái)代替/var/spool,設(shè)置別名的etc/mail取而代之的
是/etc,如果你要在sendmail.cf設(shè)置RunAsUser許選項(xiàng),/var/spool/mqueue這個(gè)目錄需
要RunAsUser 用戶的權(quán)利,ok,這時(shí)開(kāi)始編譯Sendmail,執(zhí)行這條命令

  sendmail -v -bi

  這時(shí),開(kāi)始初始化alias database. 如果它顯示:

  WARNING: writable directory /etc
  WARNING: writable directory /usr/spool/mqueue
  那么這個(gè)目錄列出了不適當(dāng)?shù)膶懱貦?quán),應(yīng)該避免多方面的的安全攻擊。

4.1 設(shè)置Sendmail.cf
  產(chǎn)生出來(lái)的YYY.cf一般得要改個(gè)地方才能正常的收信。請(qǐng)尋找"Cw",原來(lái)產(chǎn)生的.cf 檔,Cw應(yīng)
是:Cwlocalhost請(qǐng)?jiān)趌ocalhost 之後加上你那一臺(tái)機(jī)器所有可能用來(lái)當(dāng)收信地址的host name 。
  例如我有一臺(tái)機(jī)器叫:ftp.games.net.cn,而且也叫:gopher.games.net.cn,
而我希望這一臺(tái)機(jī)器這兩個(gè)名字都能收信,那我要這么作:
  Cwlocalhost ftp.games.net.cn gopher.games.net.cn

  順便說(shuō)一下,Cw之後只能寫入本機(jī)器的名字,千萬(wàn)不能寫入其他機(jī)器的名字,否則,甚麼地方
都能寄,那被寫的就一定不能寄。

  上面其實(shí)是簡(jiǎn)略的說(shuō)法,如果你對(duì)DNS 也熟悉的話,可參考這節(jié)來(lái)作判斷,判斷是否須要在Cw
之後寫入東東。否則請(qǐng)直接跳過(guò)這一小節(jié),閉上眼睛把本機(jī)器所用的所有名字都寫上就是了:)

  1.在一臺(tái)機(jī)器上,如果有多個(gè)名字(hostname),而是用CNAME 建立的,如:
  $ORIGIN games.net.cn
  ftp IN A 140.119.1.2
  gopher IN CNAME ftp

  那麼可以不必在Cw上標(biāo)明。系統(tǒng)會(huì)透過(guò)DNS 找到其 Canonical name。

  2.如果一臺(tái)機(jī)器有多個(gè)名字,可是,每個(gè)名字是用A record 建立的。如:
  $ORIGIN games.net.cn.
  ftp IN A 192.168.25.2
  gopher IN A 192.168.25.2
  這種情況【一定】要記得在Cw後寫上你所要收信的名字。如果這個(gè)忘了寫,會(huì)有怎樣的問(wèn)題呢

  忘了將會(huì)有從外面機(jī)器寄信來(lái),沒(méi)有寫上的機(jī)器名將卻收不到信,機(jī)器會(huì)抱怨:
  "Local configuration error" 。

  如:我的sendmail.cf中的Cw這行是如下: Cw games.net.cn
  那我將無(wú)法使用這個(gè)地址:
  username@games.net.cn
  而只能用
  username@ftp.games.net.cn 否則將出現(xiàn)上述錯(cuò)誤。

  如果發(fā)現(xiàn)了錯(cuò)誤,那再加上去也就可以了。

  3.如果一臺(tái)機(jī)器有多interface ,各interface有其本身的名字,且要收信。
  這個(gè)情況也要在Cw之後寫明所有要收信的hostname。

  ok!一個(gè)標(biāo)準(zhǔn)的sendmail.cf文件就設(shè)置完了!

4.2 設(shè)置access

  打開(kāi)/etc/mail/access,你會(huì)看到 (注意一些系統(tǒng)的access文件不再/etc/mail下,如找不到
請(qǐng)用whereis查找或檢查是否安裝正常)

  # Check the /usr/doc/sendmail-8.9.3/README.cf file for a description
  # of the format of this file. (search for access_db in that file)
  # The /usr/doc/sendmail-8.9.3/README.cf is part of the sendmail-doc
  # package.
  #
  # by default we allow relaying from localhost...
  localhost.localdomain RELAY
  localhost RELAY

  如果您的IP地址是192.168.25.11的話,這樣請(qǐng)?jiān)谧詈笠恍屑由?92.168.25.11   RELAY
  其文件的最后三行應(yīng)是:

  localhost.localdomain RELAY
  localhost RELAY
  192.168.25.11 RELAY

  加上這句話您就可以用sendmail發(fā)送接收mail了!但是如果您想讓別人也可以使用sendmail的
話,他的IP是202.168.25.22,這樣就在在最后一行加入202.168.25.22   RELAY
  其文件的最后四行應(yīng)是:

  localhost.localdomain RELAY
  localhost RELAY
  192.168.25.11 RELAY
  192.168.25.22 RELAY

  我想,您現(xiàn)在一定有個(gè)疑問(wèn)是,如果我想設(shè)置50個(gè)人用sendmail是不是需要加50個(gè)IP啊!?
  嘿嘿,不用啦,是這樣,sendmail考慮到多用戶的時(shí)候,它準(zhǔn)許你添入整個(gè)C類地址,(B類好
像也可以,我沒(méi)try過(guò)!)
  其格式如下:

  localhost.localdomain RELAY
  localhost RELAY
  192.168.25 RELAY

  這樣,您就是把192.168.52這整個(gè)C都加入的sendmail中,這個(gè)C類地址的用戶,如果在你的系
統(tǒng)里有賬號(hào)的話,就可以使用sendmail收發(fā)信件了!

4.3 設(shè)置pop3

  如果您需要pop3來(lái)接收信件,您需要打開(kāi)pop3端口,

  vi /etc/inetd.conf 查找到
  # pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
  把#號(hào)刪掉。

  vi /etc/services 查找到
  #pop-3 110/tcp # POP version 3
  把#號(hào)刪掉。

  這樣,在restart inetd后,pop3 110端口就可以接信了!如果還是不行,請(qǐng)檢查是否安裝pop
3端口!

4.4 如何restart sendmail;inetd以及注意事項(xiàng)

  有一點(diǎn)要提醒大家的,要用"kill -9 [pid-of-sendmail]" ,從新啟動(dòng)sendmail
  如果用 kill -HUP 是不會(huì)發(fā)生作用的! (這是頗多人常遇到的問(wèn)題,切記!)
  在redhat6中用/etc/rc.d/init.d/sendmail restart即可!

  inetd是/etc/rc.d/init.d/inetd restart

5.1 sendmail的別名和forward


  (1) 關(guān)于直接用IP地址發(fā)信

  mail user@[166.111.IP.Address]
  只要用[]將IP地址括起來(lái)就行了

  (2) 關(guān)于alias

  sendmail在/etc下有兩個(gè)文件 aliases和aliases.db, 后者是前者用newaliases
生成的別名數(shù)據(jù)庫(kù). 你可以手工編輯/etc/aliases, 然后運(yùn)行newaliases更新數(shù)據(jù)庫(kù)(其
實(shí)newaliases是個(gè)到sendmail的 symlink)

  eg: nickname : user@hotmail.com
  alias-name: real-user-account

  則以后mail nickname就可以將信寄到user@hotmail.com處
  而別人寄給alias-name@your.domain.name的信就會(huì)轉(zhuǎn)給真正的用戶   
 real-user-account

  (3) 關(guān)于forward

  在你的$HOME目錄下面編輯一個(gè).forward文件, 里面寫上你要forward的目的e-mail
地址或本機(jī)的用戶名, 就可以自動(dòng)將信 forward到相應(yīng)地址

  eg: .forward: user@hotmail.com
  或 other-user-account
  則給此人的e-mail會(huì)forward到hotmail或other-user-account處

  (4) 關(guān)于vacation

  去找一個(gè)vacation包(如RedHat的contrib中有vacation的rpm), 裝上后就一個(gè)
  /usr/bin/vacation程序和一個(gè)man.
  先運(yùn)行vacation, 它會(huì)讓你編輯$HOME/.vacation.msg文件, 就是要發(fā)回給對(duì)方
告訴他你現(xiàn)在不看信的東西啦. 然后編輯$HOME/.forward文件, 寫這樣一句 \username,
"|/usr/bin/vacation username", username 要換回你自己的了然后運(yùn)行vacation -I建
立$HOME/.vacation.db就好了 (看看man更詳細(xì))

  (5) 關(guān)于sendmail的一些文件

  /var/log/maillog sendmail的log, 分析錯(cuò)誤有用
  /var/spool/mail/$USER 進(jìn)來(lái)的信, 每個(gè)用戶一個(gè)文件
  /var/spool/mqueue mail queue, 可以用mailq看隊(duì)列中待發(fā)的信
  (mailq也是 sendmail的symlink了)
  dfxxxxxx 這是信的內(nèi)容
  qfxxxxxx 這是信的subject和別的信息 (反正每信一個(gè)號(hào)了, 配對(duì)的)
  /etc/sendmail.cf sendmail的配置文件, 改動(dòng)它可要小心
  /etc/sendmail.cw 假如你的機(jī)器有好多alias的話就把名字寫在
  這個(gè)文件中, 這樣寫哪個(gè)都能收到信

5.2 限制郵件的大小

  Modify /etc/sendmail.cf:
  Mlocal, P=/bin/mail, F=lsDFMrmn, S=10, R=20/40,
  Maxsize=1000000,
  A=mail -d $u
  Mprog, P=/usr/local/sendmail/smrsh, F=lsDFMeu, S=10, R=20/40, D=$z:/,
  Maxsize=1000000,
  A=sh -c $u

  This limits incoming mail processed by by smrsh and /bin/mail to 1 million bytes.

  You can do the same with the Mstmp, Mesmtp, and Mrelay statements to limit the
size of outgoing mail as well.
  You can do the same with the Mstmp, Mesmtp, and Mrelay statements to limit the
size of outgoing mail as well.

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 国产伦精品一区三区视频 | 亚洲日本久久久午夜精品 | 免费一级欧美性大片 | 15yc宅男最新地址 | 国产亚洲精品第一区在线观看 | 艹逼片| 欧美性猛交xxxx免费看蜜桃 | 国产大臿蕉香蕉大视频女 | 在线观看 a国v | 国产精品资源 | 国产大尺度福利视频在线 | 成人亚洲欧美综合 | 日本精品一区二区三区在线视频 | 成人精品一区二区激情 | 久久精品国产三级不卡 | 2019亚洲日韩新视频 | 亚洲视频在线看 | 亚洲美女综合 | 欧美日韩一品道 | 亚洲精品一区二区三区福利 | 在线看免费视频 | 国产精品久久九九 | 国产91啦 | 日日操夜夜爱 | 天天狠天天天天透在线 | 国产精品日韩欧美一区二区 | 99人中文字幕亚洲区 | 中文字幕在线视频免费 | 国产好痛疼轻点好爽的视频 | 91麻豆国产自产 | 亚洲精品国产第一区第二区国 | 免费人成年短视频在线观看免费网站 | 成人在线视频在线观看 | 亚洲第一综合色 | 波多野结衣手机视频一区 | 天天插天天透天天狠 | 国产成人精品视频一区二区不卡 | 国产大片线上免费观看 | 日本免费网站观看 | 麻豆成人久久精品二区三区小说 | 日本三级香港三级人妇网站 |