<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="http://blog.nlhs.tyc.edu.tw/styles/rss.css" type="text/css"?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns="http://purl.org/rss/1.0/"
>
 <channel rdf:about="http://blog.nlhs.tyc.edu.tw/rss/rss10/2">
  <title>lss實驗室</title>
  <link>http://blog.nlhs.tyc.edu.tw/blog/2</link>
  <description>&lt;p&gt;我的心得記事，包括 pLog 、 PHP 、 Moodle 、網路管理、電腦科教學、 Wiki ......&lt;/p&gt;
</description>
    <dc:creator>lss</dc:creator>
  <dc:date>2008-11-21T15:12:56Z</dc:date>
  <admin:generatorAgent rdf:resource="http://www.lifetype.net" />
  <items>
   <rdf:Seq>
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/333" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/324" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/321" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/319" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/303" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/298" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/290" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/284" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/285" />
       <rdf:li rdf:resource="http://blog.nlhs.tyc.edu.tw/post/2/283" />
      </rdf:Seq>
  </items> 
 </channel>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/333">
  <title>[ubuntu][網管]使用 putty 進 ubuntu 時的中文亂碼問題</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/333</link>
  <dc:description>&lt;p&gt;最近嚐試 Ubuntu 8.04 server ，遇到一個問題：用 PuTTY 自 windows 進 ubuntu server 的 ssh console 時，中文一律變成亂碼。&lt;/p&gt;&lt;p&gt;這麼一來，不只 console 上的中文訊息看不懂，連最常用的 vi 都因為亂碼而影響操作。雖然 nano 還算簡單，總是用不習慣。&lt;/p&gt;&lt;p&gt;後來 google 了一下，找到各種說法，試了其中一種方法，調整 PuTTY 的 Translation 設定，果然搞定。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;我想原因應該是出在 ubuntu 安裝時遇設使用 UTF-8 編碼，而根據 PuTTY &amp;gt; Window &amp;gt; Translation 裡的「 Received data assumed to be in character set: 」，預設是使用「 use font encoding 」，指的應該是字型的預設編碼。我猜 Windows XP 裡的字型的預設編碼大概都是 Big5 或 CP950 ，於是造成 ssh console 裡的中文字變亂碼。&lt;/p&gt;&lt;p&gt;我只是依下圖，把「 Received data assumed to be in character set: 」的值改成「 UTF-8 」，之後再進 ubuntu 的 ssh console 就可以正常顯示中文了，連 vi 也跟著恢復正常了。 ^___^&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://blog.nlhs.tyc.edu.tw/gallery/2/putty-utf8.png&quot; border=&quot;0&quot; alt=&quot;putty translation set to utf-8&quot; /&gt; &lt;/p&gt;</dc:description>
      
    <dc:subject>網管實驗室</dc:subject>
      
    <dc:subject>ubuntu實驗室</dc:subject>
     
    
  <dc:date>2008-05-12T22:16:15Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/324">
  <title>[網管]關於 md5(); 的一些想法</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/324</link>
  <dc:description>&lt;p&gt;在黑米看到一個書籤： &lt;a href=&quot;http://www.hemidemi.com/bookmark/info/168507&quot; title=&quot;md5(); - reverse engineer md5 hashes - powered by rednoize.com&quot;&gt;md5(); - reverse engineer md5 hashes - powered by rednoize.com&lt;/a&gt; 在介紹 &lt;a href=&quot;http://md5.rednoize.com/&quot; title=&quot;http://md5.rednoize.com/&quot;&gt;http://md5.rednoize.com/&lt;/a&gt; 這個網站，有一點想法，先記下來。&lt;/p&gt;&lt;p&gt;首先，這個網站是以類似 google 搜尋引擎外觀的 md5/sha1 hashes 搜尋網站。你可以用 hashed string 反向查詢其原始字串，也可以用任意字串查詢其 hashed md5/sha1 string 。&lt;/p&gt;&lt;p&gt;我的想法比較負面，我個人覺得，這是一個&lt;span style=&quot;color: #ff0000&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: x-large&quot;&gt;相當危險&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;的服務。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;md5/sha1 編碼被拿來作為密碼的編碼方法，是因為他的不可逆演算法，如果想破解，通常是用暴力法將 hashed password 跟 hashed 字典檔比對，只要密碼設得稍微複雜一點，不要是簡單的數字組合、字典裡的單字或單字組合、長度足夠的話，應該還算安全。加上不定期更改密碼的話，那就更不易被破解。&lt;/p&gt;&lt;p&gt;知道我的重點了嗎？ hashed string 的安全，在於我們假設 &lt;strong&gt;hashed 字典沒有安全密碼的條目可以檢索查詢&lt;/strong&gt;，所以即使編碼後的密碼檔外洩，至少不會在短時間內就被攻破，有比較充足的時間可以更換密碼。&lt;strong&gt;而這個服務，可以說是在集合所有使用這個服務的人的力量在充實 hashed 字典&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;不信，你可以試試查詢「6a22f07b48660658bff878e44e1431e2」這個 hashed string 。原本我第一次使用時是查不到的，可是現在可以查得到了，你會得到「 tbontb 」 ( to be or not to be 每個單字的首字組合) 。只要你先查詢過，然後使用他 switch mode 後，便可以改為用字串查詢 hashed md5/sha1 。可怕的是，&lt;strong&gt;他把你的查詢紀錄下來了&lt;/strong&gt;，從此後，便可以用 hashed string 反查回原字串。如果你好奇的用他來查詢你的密碼的 md5/sha1 值，恭喜你，你的密碼 md5/sha1 string 從此可以輕易被任何人從這個網站上反查得到。&lt;/p&gt;&lt;p&gt;假設，這個網站運作了相當長的一段時間後，充實了相當大量的 hashed string 字典，而這個字典資料庫被用在駭客工具上的話&amp;hellip;&amp;hellip; &lt;/p&gt;&lt;p&gt;所以囉，寫密碼驗證的程式不是用 md5/sha1 就比較安全，至少要加點鹽調味 ( salted md5/sha1 ) 才會更安全。&lt;/p&gt;&lt;p&gt;2008-03-10 更新！&lt;/p&gt;&lt;p&gt;剛剛在 plog-svn 裡看到 mark 介紹這裡 ( &lt;span style=&quot;font-size: x-small; font-family: 新細明體&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small; font-family: 新細明體&quot;&gt;&lt;a href=&quot;http://kuza55.blogspot.com/2006/10/online-reverse-lookup-tables-for.html&quot; target=&quot;_blank&quot;&gt;http://kuza55.blogspot.com/2006/10/online-reverse-lookup-tables-for.html&lt;/a&gt;&lt;/span&gt; ) 蒐集了更多提供類似服務的相關的網站，記下來參考。 &lt;/p&gt;</dc:description>
      
    <dc:subject>網管實驗室</dc:subject>
     
    
  <dc:date>2008-03-09T23:24:15Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/321">
  <title>[moodle][apache]moodle 搬家後遺症</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/321</link>
  <dc:description>&lt;p&gt;還是筆記！&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://blog.nlhs.tyc.edu.tw/post/2/319&quot; title=&quot;moodle 搬家到獨立網址&quot;&gt;moodle 搬家&lt;/a&gt;後，發生了一點後遺症，原來教材文章裡插入的圖片都是用原來的舊網址，並沒有隨著 moodle 搬家自動跟著更改，於是產生一堆叉燒包。&lt;/p&gt;&lt;a href=&quot;http://blog.nlhs.tyc.edu.tw/post/2/319&quot; title=&quot;moodle 搬家到獨立網址&quot;&gt;&lt;/a&gt;&lt;p&gt;解決方法，直接使用 apache 的 &lt;a href=&quot;http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirect&quot; title=&quot;redirect&quot;&gt;redirect&lt;/a&gt; 功能做轉址就行了。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;直接在 httpd.conf 裡面，把原網站目錄加入如下設定： &lt;/p&gt;&lt;pre class=&quot;apache&quot;&gt;&lt;div class=&quot;insertcode&quot;&gt;&lt;div class=&quot;head&quot;&gt;httpd.conf&lt;/div&gt;&lt;span class=&quot;co1&quot;&gt;# 前略&lt;/span&gt;&lt;br /&gt;&amp;lt;Directory /var/www/html&amp;gt;&lt;br /&gt;&lt;span class=&quot;co1&quot;&gt;# 略&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;co1&quot;&gt;# 加入下面這一行&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;kw1&quot;&gt;Redirect&lt;/span&gt; /moodle http://moodle.nlhs.tyc.edu.tw&lt;br /&gt;&lt;span class=&quot;co1&quot;&gt;# 略&lt;/span&gt;&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;span class=&quot;co1&quot;&gt;# 後略&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;如此，便可以讓原來 http://web.nlhs.tyc.edu.tw/moodle/file.php/xxxxxx 直接轉址到新網站 http://moodle.nlhs.tyc.edu.tw/file.php/xxxxxx ，除了叉燒包破圖問題之外，順便也解決了所有原來指向舊網址產生 404 錯誤的問題。 &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</dc:description>
      
    <dc:subject>Moodle實驗室</dc:subject>
      
    <dc:subject>網管實驗室</dc:subject>
     
    
  <dc:date>2008-03-04T20:37:15Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/319">
  <title>[moodle][apache][網管]moodle 搬家到獨立網址</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/319</link>
  <dc:description>&lt;p&gt;這是一篇筆記！&amp;nbsp;&lt;/p&gt;&lt;p&gt;為了因應未來的系統調整，要先將 moodle 移至獨立網址。目前先以同一台機器上的虛擬主機處理。大致步驟如下：&lt;/p&gt;&lt;ul&gt;&lt;li&gt;新增 DNS 紀錄，分配 IP 與 Domain 。&lt;/li&gt;&lt;li&gt;開通防火牆規則。&amp;nbsp;&lt;/li&gt;&lt;li&gt;建立虛擬網卡並指定 IP 。&amp;nbsp;&lt;/li&gt;&lt;li&gt;建立 apache 虛擬主機。&amp;nbsp;&lt;/li&gt;&lt;li&gt;複製資料庫。&lt;/li&gt;&lt;li&gt;搬移 moodle 目錄及更改設定檔。&lt;/li&gt;&lt;li&gt;moodle 改用 ldap 認證。&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;其中， DNS 、防火牆與 ldap 現在不歸我管，這裡只做建立虛擬主機與 moodle 搬家的筆記。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;建立虛擬網卡&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;目前主機還是 Mandriva ，其他 Linux 系統或有不同。&lt;/p&gt;&lt;p&gt;首先，在 /etc/sysconfig/networking/devices 建立一個 ifcfg-eth0:2 的檔案如下：&lt;/p&gt;&lt;pre class=&quot;bash&quot;&gt;&lt;div class=&quot;insertcode&quot;&gt;&lt;div class=&quot;head&quot;&gt;ifcfg-eth0:2&lt;/div&gt;&lt;span class=&quot;re2&quot;&gt;BOOTPROTO=&lt;/span&gt;none&lt;br /&gt;&lt;span class=&quot;re2&quot;&gt;DEVICE=&lt;/span&gt;eth0:&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;re2&quot;&gt;NETMASK=&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;255.255&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;.255&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;.0&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;re2&quot;&gt;MTU=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;re2&quot;&gt;BROADCAST=&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;192.168&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;.5&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;.255&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;re2&quot;&gt;ONPARENT=&lt;/span&gt;yes&lt;br /&gt;&lt;span class=&quot;re2&quot;&gt;IPADDR=&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;192.168&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;.5&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;.23&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;re2&quot;&gt;NETWORK=&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;192.168&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;.5&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;.0&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;re2&quot;&gt;ONBOOT=&lt;/span&gt;yes&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;因為這已經是網卡 bind 第三個 IP 了，所以是 ifcfg-eth0:2 。&lt;/p&gt;&lt;p&gt;然後，複製一份到 /etc/sysconfig/network-scripts 目錄：&lt;/p&gt;&lt;pre class=&quot;php&quot;&gt;&lt;div class=&quot;insertcode&quot;&gt;cp ifcfg-eth0:&lt;span class=&quot;nu0&quot;&gt;2&lt;/span&gt; /etc/sysconfig/network-scripts/&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;重新開機，然後用 ifconfig 確認一下 eth0:2 是否有跑起來。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;建立 apache 虛擬主機&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;這裡使用 IP-base Virtual host 。因為 moodle 的身份認證要使用 https ，要簽一個專用的憑證給他，所以才會需要一個獨立的 IP 。&lt;/p&gt;&lt;p&gt;在 /etc/httpd/conf/vhosts.d/ 目錄加入 moodle.conf 設定檔：&lt;/p&gt;&lt;pre class=&quot;apache&quot;&gt;&lt;div class=&quot;insertcode&quot;&gt;&lt;div class=&quot;head&quot;&gt;moodle.conf&lt;/div&gt;&amp;lt;VirtualHost &lt;span class=&quot;nu0&quot;&gt;192.168&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;.5&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;.23&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;80&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;DocumentRoot&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;/home/moodle/html&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;ServerName&lt;/span&gt; moodle.nlhs.tyc.edu.tw&lt;br /&gt;&amp;lt;Directory &lt;span class=&quot;st0&quot;&gt;&amp;quot;/home/moodle/html&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;allow&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;all&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;AllowOverride&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;All&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;DirectoryIndex&lt;/span&gt; index.php index.htm&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;SetEnvIf&lt;/span&gt; User-Agent ^Baidu baidu&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;Deny&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;from&lt;/span&gt; env=baidu&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;SetEnvIf&lt;/span&gt; User-Agent ^Sogou sogou&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;Deny&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;from&lt;/span&gt; env=sogou&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;ErrorLog&lt;/span&gt; /home/moodle/logs/error_log&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;TransferLog&lt;/span&gt; /home/moodle/logs/access_log&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;lt;VirtualHost &lt;span class=&quot;nu0&quot;&gt;192.168&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;.5&lt;/span&gt;&lt;span class=&quot;nu0&quot;&gt;.23&lt;/span&gt;:&lt;span class=&quot;nu0&quot;&gt;443&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;DocumentRoot&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;/home/moodle/html&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;ServerName&lt;/span&gt; moodle.nlhs.tyc.edu.tw&lt;br /&gt;SSLEngine &lt;span class=&quot;kw2&quot;&gt;on&lt;/span&gt;&lt;br /&gt;SSLCertificateFile /etc/ssl/apache/moodle.nlhs.tyc.edu.tw_NLHSCA.crt&lt;br /&gt;SSLCertificateKeyFile /etc/ssl/apache/moodle.nlhs.tyc.edu.tw_NLHSCA.key&lt;br /&gt;&amp;lt;Directory &lt;span class=&quot;st0&quot;&gt;&amp;quot;/home/moodle/html&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;allow&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;all&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;AllowOverride&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;All&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;DirectoryIndex&lt;/span&gt; index.php index.htm&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;SetEnvIf&lt;/span&gt; User-Agent ^Baidu baidu&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;Deny&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;from&lt;/span&gt; env=baidu&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;SetEnvIf&lt;/span&gt; User-Agent ^Sogou sogou&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;Deny&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;from&lt;/span&gt; env=sogou&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;ErrorLog&lt;/span&gt; /home/moodle/logs/ssl_error_log&lt;br /&gt;&lt;span class=&quot;kw1&quot;&gt;TransferLog&lt;/span&gt; /home/moodle/logs/ssl_access_log&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;先用 /etc/rc.d/init.d/httpd configtest_vhosts 檢查一下設定檔有沒有問題，然後重新啟動 apache 。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;複製資料庫&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;為免生意外，將原來的 moodle 資料庫複製一份，並讓原來使用 moodle 資料庫的 dbuser 有對新資料庫有相同的存取權限。這部份我是用 phpMyAdmin 處理，可以輕鬆完成，略過不表。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;搬移 moodle 目錄及更改設定檔&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;新的虛擬主機是放在 /home/moodle 下，要搬移的目錄有兩個：&lt;/p&gt;&lt;p&gt;/var/www/moodledata 搬到 /home/moodle/moodledata ， /var/www/html/moodle 搬到 /home/moodle/html 下。這裡要配合前面的虛擬主機設定檔。&lt;/p&gt;&lt;p&gt;然後，修改 /home/moodle/html/config.php 裡的設定：&lt;/p&gt;&lt;pre class=&quot;php&quot;&gt;&lt;div class=&quot;insertcode&quot;&gt;&lt;div class=&quot;head&quot;&gt;修改 moodle 的 config.php&lt;/div&gt;&lt;span class=&quot;kw2&quot;&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;co1&quot;&gt;// 前略&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;co1&quot;&gt;// 修改下面這三行&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;re0&quot;&gt;$CFG&lt;/span&gt;-&amp;gt;&lt;span class=&quot;me1&quot;&gt;wwwroot&lt;/span&gt;   = &lt;span class=&quot;st0&quot;&gt;&amp;#39;http://moodle.nlhs.tyc.edu.tw&amp;#39;&lt;/span&gt;;&lt;br /&gt;&lt;span class=&quot;re0&quot;&gt;$CFG&lt;/span&gt;-&amp;gt;&lt;span class=&quot;me1&quot;&gt;dirroot&lt;/span&gt;   = &lt;span class=&quot;st0&quot;&gt;&amp;#39;/home/moodle/html&amp;#39;&lt;/span&gt;;&lt;br /&gt;&lt;span class=&quot;re0&quot;&gt;$CFG&lt;/span&gt;-&amp;gt;&lt;span class=&quot;me1&quot;&gt;dataroot&lt;/span&gt;  = &lt;span class=&quot;st0&quot;&gt;&amp;#39;/home/moodle/moodledata&amp;#39;&lt;/span&gt;;&lt;br /&gt;&lt;span class=&quot;co1&quot;&gt;// 後略&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;kw2&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;這時應該可以用新網址連至 moodle 了。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;font-size: medium&quot;&gt;moodle 改用 ldap 認證&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;huihui 已經建好了 ldap ，所以改用 ldap 認證。這裡要改兩個地方：&lt;/p&gt;&lt;p&gt;moodle 部份： 系統管理 &amp;gt; 帳號名稱 &amp;gt; 身份驗證選項 ，改用「使用一個LDAP伺服器」並填入相關參數。&lt;/p&gt;&lt;p&gt;資料庫部份： 要把之前使用 imap 驗證的使用者全改用 ldap 驗證，下面一個 SQL 就可以搞定：&lt;/p&gt;&lt;pre class=&quot;sql&quot;&gt;&lt;div class=&quot;insertcode&quot;&gt;&lt;div class=&quot;head&quot;&gt;改用 ldap 認證&lt;/div&gt;&lt;span class=&quot;kw1&quot;&gt;UPDATE&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;`mdl_user`&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;SET&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;`auth`&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;#39;ldap&amp;#39;&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;WHERE&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;`auth`&lt;/span&gt;=&lt;span class=&quot;st0&quot;&gt;&amp;#39;imap&amp;#39;&lt;/span&gt;;&lt;/div&gt;&lt;/pre&gt;&lt;p&gt;以上，收工。&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</dc:description>
      
    <dc:subject>Moodle實驗室</dc:subject>
      
    <dc:subject>網管實驗室</dc:subject>
     
    
  <dc:date>2008-03-03T08:27:35Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/303">
  <title>[更新][網管]搬進 DMZ 、擋掉百度搜尋、擋掉搜狗搜尋</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/303</link>
  <dc:description>&lt;p&gt;這兩天提供 web 服務的主機狂當， CPU 經常跑到 100% 不回應，流量也不正常，於是終於做了一件早就該做的事：把這部主機搬進 DMZ 。 :P&lt;/p&gt;&lt;p&gt;另外在 access_log 裡看到大量的百度機器人和搜狗機器人搜尋紀錄，以前原本不太在意這回事兒，但既然主機有點流量問題，還是擋一下好了。參考&lt;a href=&quot;http://twntwn.info/blog/ajer001/archives/931&quot; title=&quot;擋掉百度-阿駕&quot;&gt;阿駕的擋掉百度&lt;/a&gt; (來自 GSLin 的&lt;a href=&quot;http://blog.gslin.org/archives/2006/02/26/416/&quot; title=&quot;搞掉 Baidu Spider&quot;&gt;這裡&lt;/a&gt;) 說明，加入了下面的設定：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;SetEnvIf User-Agent ^Baidu baidu&lt;br /&gt; Deny from env=baidu&lt;br /&gt;&lt;br /&gt;SetEnvIf User-Agent ^Sogou sogou&lt;br /&gt;Deny from env=sogou&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;huihui 說要從防火牆把整個百度擋掉，有人能幫忙提供 IP 列表嗎？ &lt;/p&gt;</dc:description>
      
    <dc:subject>網管實驗室</dc:subject>
     
    
  <dc:date>2008-01-08T08:44:58Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/298">
  <title>[網管]vlan 與 802.1Q</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/298</link>
  <dc:description>&lt;p&gt;huihui 說要研究這個......&lt;/p&gt;&lt;p&gt;先把看懂的記下來：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;802.1Q ：描述 vlan 的協議。&lt;br /&gt;&lt;/li&gt;&lt;li&gt;vlan ： Virtual bridged Local Area Network 。&lt;/li&gt;&lt;li&gt;四種 vlan 類型：&lt;ul&gt;&lt;li&gt;依 switch 上的 port 劃分 vlan ：大部份支援 vlan 的 switch 都有實作。 &lt;br /&gt;&lt;/li&gt;&lt;li&gt;依電腦的 MAC 位址劃分 vlan ：好處是電腦移動時不必再調整 switch 設定，缺點是電腦很多時很難維護 switch 的設定，還有跨 swtich 時的 broadcast 問題。&lt;/li&gt;&lt;li&gt;依網路層劃分 vlan ：可以根據不同的網路層，甚至是協定來劃分 vlan ，似乎是進階的功能了。&lt;/li&gt;&lt;li&gt;依 IP 群組劃分 vlan ：好像不適合區域網路，效率問題。&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;vlan 原理：由 switch 在封包加上 4 Bytes 的 tag header 做 vlan 的識別，不在 TCP/IP 的標準內。 &lt;/li&gt;&lt;li&gt;ethernet 交換封包流程： receive -&amp;gt; lookup / route -&amp;gt; transmit 。&lt;/li&gt;&lt;li&gt;tag aware port ：連接埠上的設備支援 vlan ，通常是另一個支援 vlan 的 switch。&lt;/li&gt;&lt;li&gt;access port ：連接埠上的設備不支援 vlan ，一般的電腦、伺服器、集線器等都是。 switch 收到封包時要加上 tag header ，送出封包時要移除 tag header 。&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;最重要的，使用 vlan 的目的，當然是為了網路管理：&lt;/p&gt;&lt;ul&gt;&lt;li&gt;例如教務處在行政大樓，但設備組在專科教室大樓，透過機房及另兩棟大樓的骨幹 switch 支援，可以將設備組與教務處設在同一個 vlan ，形成一個邏輯上的區域網路。&lt;/li&gt;&lt;li&gt;可以減少骨幹上不必要的廣播封包。&lt;/li&gt;&lt;li&gt;流量排名與統計的分區處理。&lt;/li&gt;&lt;li&gt;IP 的使用與流量監控的彈性。&lt;/li&gt;&lt;/ul&gt;理論上的部份大致上應該是這樣，實務上的操作與規劃則是與使用的網路設備有關。當然，完整建置所需的設備經費也很可觀就是了。</dc:description>
      
    <dc:subject>網管實驗室</dc:subject>
     
    
  <dc:date>2007-11-16T09:55:27Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/290">
  <title>[VirtualBox]Panic: CPU too old for this kernal.</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/290</link>
  <dc:description>&lt;p&gt;為了轉台到 Ubuntu ，裝了個 &lt;a href=&quot;http://www.virtualbox.org/&quot; title=&quot;innotek VirtualBox&quot;&gt;innotek VirtualBox&lt;/a&gt; 來安裝 ubuntu-7.10-server-i386.iso 。好容易裝起來了，結果如下：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;http://blog.nlhs.tyc.edu.tw/gallery/2/panic_cpu_too_old.jpg&quot; border=&quot;0&quot; alt=&quot;virtualbox 安裝 ubuntu server 的結果&quot; /&gt; &lt;/p&gt;&lt;p&gt;上網查了一下，好像是 VirtualBox 的問題。殘念 -_- &lt;/p&gt;&lt;p&gt;有大德能指點一下明燈嗎？若沒有，只好去用還要註冊碼的 &lt;a href=&quot;http://www.vmware.com/&quot; title=&quot;VMWare&quot;&gt;VMWare&lt;/a&gt; 了。 &lt;/p&gt;</dc:description>
      
    <dc:subject>網管實驗室</dc:subject>
     
    
  <dc:date>2007-10-30T23:03:56Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/284">
  <title>[postfix procmail spamassassin]搞定垃圾郵件過濾最終解決方案</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/284</link>
  <dc:description>&lt;p&gt;搞了一個禮拜的東西，記一下，做個紀念！&lt;/p&gt;&lt;p&gt;遇到的問題：&lt;/p&gt;&lt;ol&gt;&lt;li&gt;amavisd-new 在當時無法從套件庫安裝。&lt;br /&gt;解決方法：考慮大量相依性問題 ( 可能還有缺少的很多套件 ) ，放棄使用。 &lt;br /&gt;&lt;/li&gt;&lt;li&gt;procmail 必需能搭配郵件目錄使用 Maildir/ 格式，而非 mbox 檔案格式。&lt;br /&gt;解決方法：見前一篇「&lt;a href=&quot;http://blog.nlhs.tyc.edu.tw/post/2/285&quot; title=&quot;Permanent Link: [postfix procmail Maildir]procmail 與 Maildir 信箱格式的搭配&quot; rel=&quot;bookmark&quot;&gt; [postfix procmail Maildir]procmail 與 Maildir 信箱格式的搭配&lt;/a&gt;」。 &lt;/li&gt;&lt;li&gt;有人很少 ( 或根本 ) 不收信，家目錄的 quota 用完後，無法收信會讓 spamd / spamc 的執行環境錯亂無法過濾垃圾郵件。&lt;br /&gt;本篇目的就是解決這個問題。&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;使用 procmail 替代直接遞送 mail box ，是造成上述問題的原因。如果是由 postfix 遞送郵件到收件人信箱，無法遞送時 ( 如我遇到的收件者信箱 quota exceeded 問題 ) 會由 postfix 退信。但是如果是由 promail 遞送到收件者信箱， postfix 把信交給 procmail 時，就算完工了，而 procmail 則是無法退信 ( 註1 ) ，於是送信到預設的 mbox 信箱去了。&lt;/p&gt;&lt;p&gt;我決定採用 &lt;a href=&quot;http://www.postfix.org/FILTER_README.html&quot;&gt;Postfix After-Queue Content Filter&lt;/a&gt; 裡的 &lt;a href=&quot;http://www.postfix.org/FILTER_README.html#simple_filter&quot;&gt;Simple content filter&lt;/a&gt; ，讓 procmail 做為 mail filter ( 註2 ) ，將郵件 pipe 給 spamc 過濾加標籤，再 pipe 給 sendmail ，讓郵件重回 postfix 的 mail queue ，讓 postfix 做最後的遞送到收件人信箱。如此，就可以解決收件人信箱 quota exceeded 的問題了。&lt;/p&gt;&lt;p&gt;以下是各項設定：&lt;/p&gt;&lt;p&gt; /etc/postfix/master.cf&lt;/p&gt;&lt;blockquote&gt;# 修改這一行 ( 加入 content-filter )：&lt;br /&gt;smtp&amp;nbsp;&amp;nbsp;&amp;nbsp; inet&amp;nbsp;&amp;nbsp;&amp;nbsp; n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; smtpd&lt;br /&gt;&amp;nbsp; -o content_filter=procmail:filter&lt;br /&gt;# 加入這一行：&lt;br /&gt;procmail unix - n n - - pipe&lt;br /&gt;&amp;nbsp; flags=R user=filter argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;/etc/postfix/main.cf&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;不用 mailbox_command 來使用 procmail 。&lt;br /&gt;postconf -e mailbox_command= &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;/etc/procmailrc&lt;/p&gt;&lt;blockquote&gt;# log 檔路徑&lt;br /&gt;LOGFILE=/var/log/procmail.log&lt;br /&gt;SENDER=$1&lt;br /&gt;SHIFT=1&lt;br /&gt;&lt;br /&gt;# 將信件轉給 spmac 過濾並加標籤&lt;br /&gt;:0 hbfw&lt;br /&gt;| /usr/local/bin/spamc&lt;br /&gt;&lt;br /&gt;# 將已過濾加標籤的信送回給 smtp &lt;br /&gt;:0&lt;br /&gt;| /usr/sbin/sendmail -i -f &amp;quot;$SENDER&amp;quot; -- &amp;quot;$@&amp;quot; &lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;建立使用者 filter&lt;/p&gt;&lt;p&gt;不允許登入，要有 shell 及家目錄，因為 spamassassin 會把設定與資料寫在 /home/filter/.spamassassin/ 裡。&lt;/p&gt;&lt;blockquote&gt;useradd -d /home/filter -s /bin/sh filter&lt;br /&gt;  &lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;建立 log 檔， owner 為 filter ，procmail 才能寫入。&lt;/p&gt;&lt;blockquote&gt;touch /var/log/procmail.log&lt;br /&gt;chown filter.filter /var/log/procmail.log&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;重新載入 postfix 設定，信件重新排入 mail queue 。&lt;/p&gt;&lt;blockquote&gt;postsuper -r ALL&lt;br /&gt;postfix reload&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;順利的話，到這裡應該已經開始過濾垃圾信了。因為使用的是 Mandriva ，安全等級為 high ，所以還要再做一些後續設定。&lt;/p&gt;&lt;p&gt;/var/log/procmail.log 的 owner 問題：&lt;/p&gt;&lt;p&gt;Mandriva 的安全性程式 msec 會定時把 /var/log/procmail.log 的 owner 改為 root.root ，但是 procmail 是用 filter 帳號的身份執行，會造成無法寫入 log 檔。處理方法如下：&amp;nbsp;&lt;/p&gt;&lt;blockquote&gt;vi /etc/security/msec/perm.local&lt;br /&gt;/var/log/procmail.log&amp;nbsp;&amp;nbsp; filter.filter&amp;nbsp;&amp;nbsp; 0640&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;最後， /var/log/procmail.log 要定期維護，以免長太大佔用太多硬碟空間。這裡使用 logrotate 來維護 procmal.log 。&lt;/p&gt;&lt;blockquote&gt;建立 /etc/logrotate.d/procmail&lt;br /&gt;/var/log/procmail.log {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create 0640 filter filter&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; weekly&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; size=10M&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rotate 5&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compress&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;搞定！最近幾篇就是這一週來的紀念了。 &lt;/p&gt;&lt;p&gt;註1： procmail 應該是可以 pipe 給 sendmail 做退信的動作，但是效率上應該差很多。 &lt;/p&gt;&lt;p&gt;註2： 一般用 simple content filter 是建一個 filter.sh ，在 script 裡做 procmail + spamassassin ，再 sendmail 。我是搜尋到下面這兩篇，提供參考設定，直接使用 procmail 就行了。&lt;/p&gt;&lt;ul&gt;&lt;li&gt;參考連結1： &lt;a href=&quot;http://www.webservertalk.com/archive280-2004-6-252672.html&quot;&gt;http://www.webservertalk.com/archive280-2004-6-252672.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;參考連結2： &lt;a href=&quot;http://www.webservertalk.com/archive280-2005-4-1028899.html&quot;&gt;http://www.webservertalk.com/archive280-2005-4-1028899.html&lt;/a&gt; &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;</dc:description>
      
    <dc:subject>網管實驗室</dc:subject>
     
    
  <dc:date>2007-10-25T22:54:56Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/285">
  <title>[postfix procmail Maildir]procmail 與 Maildir 信箱格式的搭配</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/285</link>
  <dc:description>&lt;p&gt;以前使用 procmail + spamassassin 過濾垃圾信，只會搭配 mbox 信箱使用，後來為了設定用戶信箱的 qutoa ，將信箱格式改為 Maildir/ 目錄信箱格式，就不再使用 procmail ，而改用 amavisd-new 了。&lt;/p&gt;&lt;p&gt;現在放棄 amavisd-new ，回頭改用 procmail ，搭配 Maildir/ 的問題得想辦法解決。終於給我搞定了，紀錄如下：&lt;/p&gt;&lt;p&gt; 在契而不捨的搜尋下，終於找到了這篇討論：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;a href=&quot;http://www.redhat.com/archives/rhl-list/2005-January/msg00974.html&quot;&gt;http://www.redhat.com/archives/rhl-list/2005-January/msg00974.html&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;依照討論裡的方法並稍加修改，將 /etc/procmailrc 設定如下：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;LOGFILE=/var/log/procmail.log&lt;br /&gt;DROPPRIVS=yes&lt;br /&gt;DEFAULT=$HOME/Maildir/&lt;br /&gt;MAILDIR=$HOME/Maildir&lt;br /&gt;&lt;br /&gt;:0fw&lt;br /&gt;| /usr/local/bin/spamc&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;然後建立 procmail.log 檔：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;touch /var/log/procmail.log&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;接著設定 postfix 將郵件遞送給 procmai ：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;postconf -e mailbox_command=/usr/bin/procmail&lt;br /&gt;/etc/rc.d/init.d/postfix reload&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;果然成功了！可以從 procmail.log 裡看到信件被 spamassassin 過濾加標籤，並正確遞送到收件者的 Maildir 目錄下。&lt;/p&gt;&lt;p&gt;可惜，好景不常，如果不用管使用者 quota&amp;nbsp; 的話，世界應該是美好的。 spamc / spamd 一陣子後就無緣無故失效了，信件被 procmail 遞送到 /var/mail/userxxx 信箱去了。 &lt;/p&gt;&lt;p&gt;/var/log/mail/info.log 裡的相關紀錄之一：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;procmail: &lt;strong&gt;Quota exceeded&lt;/strong&gt; while writing 
&amp;quot;/home/userblahblah/Maildir/tmp/1192780146.5838_0.mail&amp;quot; &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;於是，修改後的 /etc/procmailrc 第二版如下：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;LOGFILE=/var/log/procmail.log&lt;br /&gt;DROPPRIVS=yes&lt;br /&gt;DEFAULT=$HOME/Maildir/&lt;br /&gt;MAILDIR=$HOME/Maildir&lt;br /&gt;&lt;br /&gt;:0fw&lt;br /&gt;| /usr/local/bin/spamc&lt;br /&gt;&lt;br /&gt;# 如果發生錯誤則離開，以免搞亂之後的 spamc /spamd 執行環境。&lt;br /&gt;:O E&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EITCODE=127&lt;br /&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;這樣做可以解決部份問題，但是超過 quota 的用戶，信件並沒有被退回，還是送到 mbox 信箱去。&lt;/p&gt;&lt;p&gt;我想，這是因為 mailbox_command 是 postfix 用來取代遞送信件到信箱的動作，所以由 procmail 接手後， postfix 便認為信件遞送動作完成，不會處理無法寄達信箱的退信了。&lt;/p&gt;&lt;p&gt;好，這個方法要組合 postfix ( Maildir/ ) + procmail + spamassassin 來過濾垃圾信應該是不可行了，要另尋他法。不過，至少玩出了 procmail + Maildir 的用法，也算是有收獲。 &lt;/p&gt;</dc:description>
      
    <dc:subject>網管實驗室</dc:subject>
     
    
  <dc:date>2007-10-23T23:06:14Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
  <item rdf:about="http://blog.nlhs.tyc.edu.tw/post/2/283">
  <title>[spamassassin]自己動手安裝spamc/spamd</title>
  <link>http://blog.nlhs.tyc.edu.tw/post/2/283</link>
  <dc:description>上週升級 mail 主機的痛苦之一，是套件庫裡雖有 spamassassin ，但是少了 spamc / spamd 。學校的 mail 主機，真正在用的人雖然不多，但是垃圾著實不少，還是得用 spamc / spamd 來得安全些。&lt;p&gt;既然套件庫沒有，那就自己抓 source 來安裝吧。&lt;/p&gt;&lt;p&gt;SpamAssassin 下載網頁： &lt;a href=&quot;http://spamassassin.apache.org/downloads.cgi?update=200708092033&quot;&gt;http://spamassassin.apache.org/downloads.cgi?update=200708092033&lt;/a&gt;&lt;/p&gt;&lt;p&gt;該網頁會自動幫你找一個合適的 mirror site 。&amp;nbsp;&lt;/p&gt;&lt;p&gt;下載目前的最新版本：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;wget &lt;a href=&quot;http://apache.stu.edu.tw/spamassassin/source/Mail-SpamAssassin-3.2.3.tar.gz&quot;&gt;http://apache.stu.edu.tw/spamassassin/source/Mail-SpamAssassin-3.2.3.tar.gz&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;安裝： &lt;/p&gt;&lt;blockquote&gt;cd /usr/local/src&lt;br /&gt;tar zxvf Mail-SpamAssassin-3.2.3.tar.gz&lt;br /&gt;cd Mail-SpamAssassin-3.2.3&lt;br /&gt;perl Makefile.PL&lt;br /&gt;.....&lt;br /&gt;default text: [the administrator of that system] 輸入管理員 email&lt;br /&gt;.....&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;此時會有有兩個警告訊息：&lt;/p&gt;&lt;blockquote&gt;optional module missing: Mail::DomainKeys&lt;br /&gt;optional module missing: Mail::DKIM&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;沒有用到那兩個 plugin ，沒關係，接著編譯：&lt;/p&gt;&lt;blockquote&gt;make&lt;br /&gt;make install&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;順利的話，已經安裝完成了。兩個重要的執行檔分別在 /usr/local/bin/spamassassin 和 /usr/local/bin/spamc&lt;/p&gt;&lt;p&gt;接著建立 spamd 啟動程序：&lt;/p&gt;&lt;blockquote&gt;cd spamd&lt;br /&gt;cp redhat-rc-script.sh /etc/rc.d/init.d/spamd&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;設定 /etc/mail/spamassassin/local.cf (只列出修改的部份)&lt;/p&gt;&lt;blockquote&gt;# 原來的*****SPAM*****太長了&lt;br /&gt;rewrite_header Subject [SPAM]&lt;br /&gt;&lt;br /&gt;# 關閉用附件方式處理垃圾信&lt;br /&gt;report_safe 0&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;spamassassin 的預設行為，另寄通知信給收件者，並把判定為垃圾信的郵件變成附件。不過，垃圾信其實常部份是廣告信，有人愛著咧。讓他們來抗議是給自己找麻煩。所以，只要在 mail header 加上標籤，並修改主旨，剩下的讓收信人自己處理吧。 &lt;/p&gt;&lt;p&gt;啟動 spamd&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;etc/rc.d/init.d/spamd start &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;完成了，來測試一下：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;cd /usr/local/src/Mail-SpamAssassin-3.2.3 &lt;br /&gt;spamc &amp;lt; sample-nonspam.txt &amp;gt; nonspam.out&lt;br /&gt;spamc &amp;lt; sample-spam.txt &amp;gt; spam.out&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;這時， nospam.out 和 spam.out 應該可以在表頭區看到下面的內容 ( 以 spam.out 為例 ) ：&amp;nbsp;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;X-Spam-Flag: YES&lt;br /&gt;X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on mail.nlhs.tyc.edu.tw&lt;br /&gt;X-Spam-Level: **************************************************&lt;br /&gt;X-Spam-Status: Yes, score=1002.5 required=5.0 tests=GTUBE,NO_RECEIVED,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NO_RELAYS,RAZOR2_CF_RANGE_51_100,RAZOR2_CF_RANGE_E4_51_100,RAZOR2_CHECK&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; autolearn=no version=3.2.3&lt;br /&gt;X-Spam-Report:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * -0.0 NO_RELAYS Informational: message was not relayed via SMTP&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * 1000 GTUBE BODY: Generic Test for Unsolicited Bulk Email&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp; 1.5 RAZOR2_CF_RANGE_E4_51_100 Razor2 gives engine 4 confidence level&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; above 50%&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [cf: 100]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp; 0.5 RAZOR2_CHECK Listed in Razor2 (http://razor.sf.net/)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp; 0.5 RAZOR2_CF_RANGE_51_100 Razor2 gives confidence level above 50%&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [cf: 100]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * -0.0 NO_RECEIVED Informational: message has no Received headers&lt;br /&gt;Subject: [SPAM] Test spam mail (GTUBE)&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;搞定！&amp;nbsp;&lt;/p&gt;</dc:description>
      
    <dc:subject>網管實驗室</dc:subject>
     
    
  <dc:date>2007-10-23T22:28:02Z</dc:date>
    <dc:creator>lss</dc:creator>
 </item>
 </rdf:RDF>