在 Around The Geek World - Feb 2009 看到的:
If you are one of the very few who did not download the free Ubuntu Pocket Guide eBook, it is time to do it now.
這本書有電子版和印刷版,其中電子版是免費的,而且沒修改過電子版是可以散佈的。有需要的快動手囉!
我的學習心得、我的心情記事…
在 Around The Geek World - Feb 2009 看到的:
If you are one of the very few who did not download the free Ubuntu Pocket Guide eBook, it is time to do it now.
這本書有電子版和印刷版,其中電子版是免費的,而且沒修改過電子版是可以散佈的。有需要的快動手囉!
在 The Geek Stuf 看到這篇: Linux 101 Hacks - free ebook download 。
當下趕緊下載回來。全書 12 章 140 頁,合計 101 個實用技巧。看目錄介紹,內容蠻充實的,應該是很實用的工具書。
電子書下載網頁在此: Linux 101 Hacks 。
進入該網頁後,會要你輸入密碼,密碼是: linuxrocks
有需要的人快點囉!下面是原文裡的全書目錄:
最近嚐試 Ubuntu 8.04 server ,遇到一個問題:用 PuTTY 自 windows 進 ubuntu server 的 ssh console 時,中文一律變成亂碼。
這麼一來,不只 console 上的中文訊息看不懂,連最常用的 vi 都因為亂碼而影響操作。雖然 nano 還算簡單,總是用不習慣。
後來 google 了一下,找到各種說法,試了其中一種方法,調整 PuTTY 的 Translation 設定,果然搞定。
ubuntu 7.10 安裝 gcin 後,在輸入法選項裡預設就有嘸蝦米輸入法,不過卻無法使用,也連帶造成整個 gcin 失效。
原以為是 gcin 沒裝好的緣故,可是重裝整個 gcin 後還是不行,後來參考 lazyeeepc 之後才發現,原來 ubuntu 的 gcin 還是有把嘸蝦米包進去,但是預設是沒有啟動的。
要啟動 ubuntu gcin 裡的嘸蝦米輸入法,只要執行:
就可以了。
我想,應該還是為了嘸蝦米輸入法表格的版權問題吧。如果你有購買嘸蝦米輸入法,不需要再搞什麼轉檔之類的工作,直接執行上面的指令就可以在 ubuntu 裡當個快樂的蝦米族了。
伙伴 huihui 交代要做一個 DNS LiveCD ,而且催了好幾遍,於是找上 SLAX ,玩了兩天做出來了。據說這兩天就要上線試用看看。
重點是,這東西還 真好玩 !
所以, SLAX 實驗室就開張了。
SLAX 是基於 slackware linux 版本的 LiveCD ,重點在輕薄短小,把大小控制在 180 MB 以下,能燒進 8 公分的小光碟隨身攜帶,又要有桌面系統、應用程式…… 。
自己客製化 SLAX 也是非常方便的,因為 SLAX 使用模組來組織整個 OS ,而包裝、修改模組的工作也很方便。這回,就是用 192 MB 的 SLAX server edition 再精簡化後,改成只有大約 80 MB 的 DNS LiveCD 。其實,熟練以後,整個客製化過程也不會太久,花了兩天,是因為要從頭熟悉 SLAX 架構,以及再重溫久遠之前玩 slackware linux 的回憶。真正客製化的過程,應該半個小時就足夠了。
最近會先把 SLAX DNS LiveCD 的心得先整理記下來。
搞了一個禮拜的東西,記一下,做個紀念!
遇到的問題:
使用 procmail 替代直接遞送 mail box ,是造成上述問題的原因。如果是由 postfix 遞送郵件到收件人信箱,無法遞送時 ( 如我遇到的收件者信箱 quota exceeded 問題 ) 會由 postfix 退信。但是如果是由 promail 遞送到收件者信箱, postfix 把信交給 procmail 時,就算完工了,而 procmail 則是無法退信 ( 註1 ) ,於是送信到預設的 mbox 信箱去了。
我決定採用 Postfix After-Queue Content Filter 裡的 Simple content filter ,讓 procmail 做為 mail filter ( 註2 ) ,將郵件 pipe 給 spamc 過濾加標籤,再 pipe 給 sendmail ,讓郵件重回 postfix 的 mail queue ,讓 postfix 做最後的遞送到收件人信箱。如此,就可以解決收件人信箱 quota exceeded 的問題了。
以下是各項設定:
上週升級 mail 主機的痛苦之一,是套件庫裡雖有 spamassassin ,但是少了 spamc / spamd 。學校的 mail 主機,真正在用的人雖然不多,但是垃圾著實不少,還是得用 spamc / spamd 來得安全些。
既然套件庫沒有,那就自己抓 source 來安裝吧。
poppassd 透過 pam 來改密碼,預設是使用 DES 編碼,要改用比較安全的 MD5 ,要修改 /etc/pam.d/poppassd
#%PAM-1.0
auth required pam_pwdb.so shadow nullok
account required pam_pwdb.so
password required pam_cracklib.so retry=3
password required pam_pwdb.so md5 use_authtok nullok
在第四行的 pam_pwdb.so 加上 md5 參數就行了。
以前用 SquirrelMail 時,有一個 change_password plugin 很好用,我是用 poppassd backend ,可以讓使用者直接在 webmail 裡修改自己帳號的密碼。
後來因故放棄 SquirrelMail 後,改用 V-webmail ,界面什麼都不錯,中文問題也修得差不多了,就是沒有線上改密碼的功能。於是,動手把 SquirrelMail 的 change_password plugin 裡的 poppassd beckend 給移植過來用,效果蠻不錯的。
最近將 Mail 主機升級 ( 其實是重新安裝 ) 成 Mandriva 2008.0 Free ,結果慘劇發生,完全相同的程式碼,不管輸入的密碼是多麼的正確,一律給錯:
500 Old password is incorrect
好不容易終於解決了。因為是 poppassd 的問題,所以,解決這個問題後, SquirrelMail 的 change_password plugin 不能換密碼的問題也可以一併解決。
純筆記!
IP-based Virtual host 可以各自擁有獨立的 SSL 憑證, Name-based Virtual host 則只能共用一個 SSL 憑證。
原因: SSL 為比 http 更底層的協定, Name-based Virtual host 是在 http 層才能分辨,而 SSL 憑證早在這之前就載入了。
若 Virtual host 要同時支援 http 與 https 協定,要當成兩個 Virtual host 設定,分別監聽 80 port 與 443 port ,但是把網址與文件目錄設為相同。至於 access log 與 error log 最好是分開以方便未來利用。
Daniel Miessler 的 dmiessler.com 寫了一篇好文章介紹超好用的網管指令 lsof ,以前都不知道,真是受教了。
先記下連結: http://dmiessler.com/study/lsof/ ,找時間要全文翻過來放著用。
目前學校的郵件主機是使用 amavisd-new 搭配 spamassassin 做 spamfilter 。除了 spamassassin 原本的過濾規則之外, amavisd-new 的設定檔裡面也有一些自訂的過濾規則。其中,過濾附件檔名的規則裡,預設把常見的壓縮檔格式全擋掉了。於是寄一個 .rar 的檔案,就收到系統如下的回信:
BANNED CONTENTS ALERT
Our content checker found
banned name: multipart/mixed | application/x-msdownload,.rar,104.rar
in email presumably from you (<寄件者>),
to the following recipient:
-> (收件者)
要開放附件可以寄壓縮檔,要修改 /etc/amavisd/amavisd.conf 裡面的兩項設定:
一位同仁因為不堪垃圾郵件困擾,要求關閉他的電子郵件帳號。這裡紀錄一下做法。
最簡單的方法,讓帳戶過期:
usermod -e 2006-01-01 user
這裡是用 usermod 命令,設定帳戶在 2006-01-01 (過去的某一個日期) 過期,這樣,過期就立刻生效,帳戶立刻無法使用。
順便記一下,另一個無效的方法:
passwd -l user
這是在 /etc/passwd 裡面加註帳號鎖定。這只會讓帳號無法經由 telnet / ssh 服務時無法登入。而我們的電子郵件帳號原本就設定成無法登入系統,所以此法無效。
使用 awk 命令做 Linux 上的帳號批次管理,我已經用很久了。真的很好用!
剛好今天應教學組長的要求,重設了一個班學生的密碼,順便記下來吧!
以下是我下的指令:
awk -F: '/:207-/
{
cmd="echo newpassword" | passwd --stdin "$1;
print cmd;
system(cmd)
}'
/etc/passwd
這個指令的意思是,從 /etc/passwd 系統帳號檔案裡面抓出 207 班的學生帳號資料,並且把新密碼逐一設定給取出的帳號。
常見的 tarball 大都是 .tar.gz ,也就是用 gzip 格式壓縮打包後的 tar 檔。平常處理時,大都用 tar 程式一次搞定:
tar zcvf package.tar.gz files...
tar zxvf package.tar.gz
這回要在自家網站上裝 Mark 打包的 LifeType APIs 文件,竟然是用 bzip2 壓縮的 tarball ,這回不能偷懶,要認真學習了。總不能老是下載回 Windows 用 winrar 解壓縮後再上傳吧!太麻煩了。