2005年1月30日

三通之後,台灣還剩下什麼?

因為 01/29 日兩岸包機直航的關係,大三通再度成為討論的議題之一。可是,請仔細想想你是否可以承受大三通之後的立即面對的失業可能性?

你在台灣的薪水可以在大陸養三個員工,所以你根本沒有機會到大陸去;何況大陸有 10 億人口,隨便找都可以找到不輸給你,甚至能力比你的人才,但這些人卻可能只需付給相當於你一半月薪,你除了失業在家外,你還想怎麼樣?

IE6 的 CSS 支援

微軟在 MSDN 中提到如何 CSS Enhancements in Internet Explorer 6

快記下來,下次可以用…

XML快速入門

網路上提到交換資料,第一個想到的基乎都是 XML 檔!那麼你想要快速瞭解 XML 在講啥嗎?想知道如何應用 XML 嗎?

簡單,先看完兩隻老虎中的勞虎所寫的無廢話XML就夠你入門了。重點是:這本書是免費的喔...

2005年1月27日

在世界的中心呼喊愛-劇場版片尾曲-存在

這首是日劇 在世界的中心呼喊愛 片尾曲,我還在找他的羅馬拼音版...

個人認為,這首歌和平井堅的輕閉雙眼恰好分別是亞紀和朔太郎內心深處對另一方最真誠的期望,真是令人感動啊...

存在(かたちあるも&#)
作詞:柴崎幸 作曲:小松清人

夜空に消えてく星の聲 儚げに光る鈍色の月 二人で泳いだ海は何故 束の間に色變えてゆくんだろう このまま眠ってしまいたくない… あなたをまだ感じてたい…

もしもあなたが寂しい時に ただそばにいることさえできないけど 失くす傷みを知ったあなたは ほかの愛を摑める そう祈っている…

いつかあなたが夜に迷い ふとあの日を見つめかえすなら 眩しすぎる太陽の中で 微笑む私を思ってね 重ね合わせてゆく「好き」のつよさ 泣くことさえ愛に變えた… 強がる愛の弱さ兩手に 抱えてもろい絆を確かめてた

でもこの今(とき)を生きるあなたを ずっとずっと見守る my love その心に… 泣きたいときや苦しいときは 私を思いだしてくれればいい 寄り添える場所遠い夏の日 溫もり 生きる喜び 全ての心に…。

柴崎幸 存在
作詞:柴崎幸 作曲:小松清人  翻譯來源:緯來日本台/在世界的中心呼喊愛 非官方情報站

消失在夜空中的星星的聲音 淒涼的散發光芒的灰色月亮 我倆曾游過的大海 為何轉眼間開始變色 我不想就此沈眠 我還想感受你

當你感到寂寞時 雖然連陪在你身邊 我都無法做到 而嚐到失去所愛痛苦的你 我祈禱你能抓住其他的愛

如果有一天你迷失在黑夜中 突然回首想起那一天 在太過於耀眼的太陽中 請想起微笑著的我 慢慢重疊在一起 深愛的堅強 就連哭泣都化成了愛 逞強的愛的脆弱 用兩手 抱在懷裡 確認脆弱的牽絆

不過現在活著的你 我將永遠永遠守護著你 My Love將在你心中 當你想慟哭時 或是痛苦時 只要想起我就好 我們曾相依偎的地方 還有那遙遠的夏日時光 那份溫暖 還有活著的喜悅 全都留存在你心中‧‧‧

存在 - 羅馬拼音版
來源:在世界的中心呼喊愛 非官方情報站

yo zo ra ni kie te ku ho shi no koe ha ka na ge ni hi ka ru ni bi i ro no tsu ki fu ta ri de o yoi da umi wa na ze tsu ka no ma ni i ro ka e te yu kun da roo ko no ma ma ne mu. te shi ma ita ku nai… a na ta o ma ta kan ji te tai… mo shi mo a na ta ga sa bi shii to ki ni ta da so ba ni i ru ko to sae de ki nai ke do na ku su i ta mi o shi. ta a na ta wa ho ka no ai o tsu ka me ru soo i no. te i ru… i tsu ka a ma ta ga yo ru ni ma yoi fu to a no hi o mi tsu me kae su na ra ma bu shi su gi ru tai yoo no na ka de ho ho e mu wa ta shi wo o mo. te ne ka sa ne a wa se te yu ku「su ki」no tsu yo sa na ku ko to sae ai ni ka e ta… tsu yo ga ru ai no yo wa sa ryoo te ni ka ka e te mo ro iki zu na wo ta shi ka me te ta de mo ko no to ki o i ki ru a na ta wo zu. to zu. to mi ma mo ru my love so no ko ko ro ni… na ki tai to ki ya ku ru shii to ki wa wa ta shi wo o mo i da shi te ku re re ba ii yo ri so e ru ba sho tooi na tsi no hi nu ku mo ri i ki ru yo ro ko bi su be te no ko ko ro ni…。 na ki tai to ki ya ku ru shii to ki wa wa ta shi wo o mo i da shi te ku re re ba ii yo ri so e ru ba sho tooi na tsi no hi nu ku mo ri i ki ru yo ro ko bi

2005年1月26日

CSS: 101個您一定會遇到的問題與解答

星期日在光華商場購入此本書『CSS: 101個您一定會遇到的問題與解答』,目前剩下最後一章就看完了,不過看了之後覺得 400 元實在花的不值。如果一個錯誤罰 10 塊不知還能賣多少錢?
  1. HTML源碼和輸出圖樣不符:
    * 明明 HTML 內是英文說明,輸出的圖樣卻變成中文?如 P2-19, P2-20, P8-11, P8-24…
    * 明明 Title 上寫的是中文,可是圖樣上卻出現 Example X 的英文訊息… 如 P4-21 與圖 4.13
  2. 找不到輸出圖樣的原始碼:P2-26 圖 2.16 就不知那邊冒出來的。後面的圖 2.17, 2.18, 2.19 也一樣。最後終於在 P2-31 中找到原始碼了。P3-5 圖 3.3 也是同樣的問題!
  3. 中文錯別字:誰來告訴我 中式填椒 到底是什麼?
  4. 書上說可以從出版社下載相關程式範例,可是我找了半天跟本沒這回事… -.-
從書的內容來說其實這本書很棒,每個網站排版人員(特別是網站美工人員)都應該看一看。可是上面列的校稿疏失又讓我不知如何去推薦這本書...

※原文書名: The CSS Anthology: 101 Essential Tips, Tricks & Hacks

討論區的怪現象

最近看討論區,總覺得許多網友都搞錯討論區的原始目的,好像不管多大的疑難雜症都可以透過討論區取得完美的解答。

不管再小的問題,沒有官方的參予都永遠不會有改善的一天。是網站的問題就去該網站反應;是筆記型電腦的問題就去問製造廠商;是電信公司的錯誤就去電信公司吵;是銀行帳單搞錯就去立委辦公室開記者會...

反正不要把這些鳥問題拿到討論區中浪費大家的時間就是了…

2005年1月20日

昨天主管找我去聊天...

昨天主管來找我去聊天,內容主要有二:我的生涯規劃、對公司現有作業 的想法。

其實聽到生涯規劃的時候,有點害怕會不會是上班摸魚被捉到了?可是,我記得我都努力裝的很忙啊?

說到台灣軟體開發人員真的是苦命的一群:老闆永遠不會在乎你用啥技術,但是你絕對不可以捅漏子!就因為這個因素,在台灣的軟體開發人員才會流動率那麼高。

至於生涯規劃嘛...

就現況而言有兩條路可以走:透過管理技術人員而轉管理職;或者改走系統架構師做系統整合之類的工作。就目前公司的狀況來說,有走第一條路的可能。若想走第二條路的話問題恐怕比較大,畢竟系統架構師是近年來才開始冒出來的新職掌。

也許是沒有自信吧,這兩條路都有問題:

  1. 對使用者的需求來說,我有自信可以提供最低限度的解決方案。但是由於思考模式偏向跳躍式思考,所以很難能一次就解釋給對方聽。通常是過於簡化所造成的。要走管理職可能要有人來Cover、進行訓練,當然還要有空位可以塞(不是很清楚人事的變化,不過看起來似乎是並沒有空位才是)。
  2. 至於系統架構師,個人覺得恐怕還是要先到有該職務的公司去被糟蹋… 呃… 培訓一番後才行。台灣軟體業忽視責任分工、又習慣將職務區分等級是這條路無法預估的因素。
談到對公司現有作業的一些看法…
  1. 公司內部軟體開發資源分散,開發語言複雜,所以在資料交換上仰賴資料庫做中繼。這方式沒啥不好,反正是公司內部的資料交換,容易協調。
  2. 思考模式的差異:公司內容以傳統循序導向式思考為主流,與現今市面上物件導思考方式不同。我是覺得應該讓這兩種的思考模式進行交流,因為總是覺得公司這種主流的思考模式無法因應網頁應用系統的衝擊。從這點所衍生的另一個問題則是對使用的開發語言過於陷入本位思考,無法跳脫技術面的限制而在某某軟體語言可否達成某需求上鑽牛角尖。只是我卻也擔心當跳脫技術面的限制後,會不會造成思緒的天馬行空而不可收捨?還有後續人員的訓練會不會有銜接上的困難?

2005年1月18日

受不了的真調會

聽說真調會完成319槍擊案調查,建議立法院依法罷免總統...

『幹!真調會究竟懂什麼?又在調查個屁啊… 』

抱歉,失態了…

沒有尊嚴的南亞賑災

Yahoo!奇摩新聞 有這麼一則訊息:我救援軍機抵星國 國徽被遮蓋

回頭再看看這則新聞:國內貧童37萬人 未來發展值得關注,我沉默了!

一個連自己國民都不能提供妥善照顧的政府,為什麼對他國國民如此慷慨? 一個連自己週邊的貧苦都不能提供任何協助的義賣、義演活動,憑什麼可以對世人謊稱為人道救援?

5000 萬美元,加上接近四億元的新台幣,這些貧童絕對有機會脫離貧困的生活。可惜,因為他們不是南亞災民,他們生活在看似富有的台灣,所以只能選擇繼續貧困下去!

2005年1月17日

/etc/conf.d/iptables

iptables 套件設定

# Location in which iptables initscript will save set rules on
# service shutdown
IPTABLES_SAVE="/var/lib/iptables/rules-save"

#Options to pass to iptables-save and iptables-restore SAVE_RESTORE_OPTIONS="-c"

#Save state on stopping iptables SAVE_ON_STOP="no"

# Enabled Forward for ip4 ENABLE_FORWARDING_IPv4="yes"

iptables 規則設定

iptables-save
# Generated by iptables-save v1.2.3 on Fri Mar 22 00:00:07 2002
*filter
:INPUT ACCEPT [16:1638]
:FORWARD ACCEPT [109916:83620350]
:OUTPUT ACCEPT [2156:327352]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -s 220.130.11.8/32 -p tcp -m tcp -j ACCEPT
-A INPUT -i eth0 -s 220.130.11.8/32 -p udp -m udp -j ACCEPT
-A INPUT -i eth0 -s 220.130.11.9/32 -p tcp -m tcp -j ACCEPT
-A INPUT -i eth0 -s 220.130.11.9/32 -p udp -m udp -j ACCEPT
-A INPUT -i eth0 -s 69.6.56.0/24 -p tcp -m tcp --dport 25 -j DROP
-A INPUT -i eth0 -s 61.145.71.0/24 -p tcp -m tcp --dport 25 -j DROP
-A INPUT -i eth0 -s 69.6.57.0/24 -p tcp -m tcp --dport 25 -j DROP
-A INPUT -i eth0 -s 69.6.54.0/24 -p tcp -m tcp --dport 25 -j DROP
-A INPUT -i eth0 -s 82.32.217.0/24 -p tcp -m tcp --dport 25 -j DROP
-A INPUT -i eth0 -s 66.205.222.0/24 -j DROP
-A INPUT -i eth1 -d 207.244.119.109/32 -j DROP
-A INPUT -i eth0 -s 203.69.75.163/32 -j DROP
-A INPUT -i eth0 -s 218.94.25.130/32 -j DROP
-A INPUT -i eth0 -s 61.30.121.0/24 -j DROP
-A INPUT -i eth0 -s 61.222.32.0/24 -j DROP
-A INPUT -i eth0 -s 61.66.7.0/24 -j DROP
-A INPUT -i eth0 -s 210.202.68.0/24 -j DROP
-A INPUT -i eth0 -s 167.206.5.0/24 -j DROP
-A INPUT -i eth0 -s 218.20.0.0/16 -j DROP
-A INPUT -i eth0 -s 218.19.0.0/16 -j DROP
-A INPUT -i eth0 -s 217.97.137.0/24 -j DROP
-A INPUT -i eth0 -s 64.49.223.0/24 -j DROP
-A INPUT -i eth0 -s 32.103.231.0/24 -j DROP
-A INPUT -i eth0 -s 63.147.168.0/24 -j DROP
-A INPUT -i eth0 -s 207.248.48.0/24 -j DROP
-A INPUT -i eth0 -s 61.55.0.0/24 -j DROP
-A INPUT -i eth0 -s 32.103.25.0/24 -j DROP
-A INPUT -i eth0 -s 218.49.222.0/24 -j DROP
-A INPUT -i eth0 -s 32.103.225.0/24 -j DROP
-A INPUT -i eth0 -s 200.63.165.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 12.65.168.0/24 -p tcp -m tcp -j DROP 
-A INPUT -i eth0 -s 61.220.184.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 32.103.25.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 202.155.116.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 210.85.15.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 61.222.106.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 218.32.228.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 203.43.84.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 61.216.187.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 202.71.144.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 195.232.61.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 61.92.0.0/16 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 61.43.0.0/16 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 61.97.0.0/16 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 61.53.0.0/16 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 61.40.0.0/16 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 61.144.0.0/16 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 61.146.0.0/16 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 61.181.0.0/16 -p tcp -m tcp -j DROP
#-A INPUT -i eth0 -s 220.130.11.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 61.222.179.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 24.123.204.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 203.157.41.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 61.222.145.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 211.78.134.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 61.59.38.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 218.224.231.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 142.227.9.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 61.33.40.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 210.212.255.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 213.219.70.0/24 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -s 202.95.99.0/24 -p tcp -m tcp -j DROP
#-A INPUT -m string --string=root.exe -j DROP
#-A INPUT -m string --string=cmd.exe -j DROP
-A INPUT -s 192.168.0.0/255.255.255.0 -i eth1 -j ACCEPT 
#-A INPUT -i eth0 -p tcp -m tcp --dport 7869 -j ACCEPT
#-A INPUT -i eth0 -p icmp --icmp-type ! echo-request -j ACCEPT
-A INPUT -i eth0 -p icmp --icmp-type echo-request -j DROP
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP 
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP 
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -j DROP 
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP 
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP 
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP 
-A INPUT -i eth0 -p tcp -m tcp --dport 20 -j ACCEPT 
-A INPUT -i eth0 -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 23 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 25 -j ACCEPT 
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 110 -j ACCEPT 
-A INPUT -i eth0 -p tcp -m tcp --dport 113 -j ACCEPT 
-A INPUT -i eth0 -p tcp -m tcp --dport 137 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 137 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 138 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 138 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 139 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 139 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 443 -j ACCEPT
#-A INPUT -i eth0 -s 61.219.235.50/32 -p tcp -m tcp --dport 1521 -j ACCEPT
#-A INPUT -i eth0 -s 61.219.235.50/32 -p tcp -m tcp --dport 2401 -j ACCEPT
#-A INPUT -i eth0 -s 61.219.235.50/32 -p udp -m udp --dport 2401 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 3000 -j ACCEPT 
#-A INPUT -i eth0 -p tcp -m tcp --dport 5432 -j DROP
#-A INPUT -i eth0 -s 61.219.235.50/32 -p tcp -m tcp --dport 5801 -j ACCEPT
#-A INPUT -i eth0 -s 61.219.235.50/32 -p tcp -m tcp --dport 5901 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 6881 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 7100 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 8000 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 10000 -j ACCEPT
#-A INPUT -i eth1 -p tcp -m tcp --dport 10025 -j ACCEPT 
#-A INPUT -i eth0 -p tcp -m tcp --dport 21000 -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -i eth0 -m state --state INVALID,NEW -j DROP 
-A INPUT -i eth1 -p tcp -m tcp -j ACCEPT
-A INPUT -i eth1 -p udp -m udp -j ACCEPT
#-A INPUT -d 220.130.11.8 -p tcp -m tcp --dport 5190 -j ACCEPT
#-A INPUT -i eth3 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -p tcp -m tcp -j DROP
-A INPUT -i eth0 -p udp -m udp -j DROP
COMMIT
# Completed on Fri Mar 22 00:00:07 2002
# Generated by iptables-save v1.2.3 on Fri Mar 22 00:00:07 2002
*nat
:PREROUTING ACCEPT [1452:106931]
:POSTROUTING ACCEPT [227:11773]
:OUTPUT ACCEPT 2269
# -A PREROUTING -d 61.222.134.172 -p tcp -m tcp --dport 21000 -j DNAT --to-destination 192.168.0.2:21 
#-A PREROUTING -d 61.222.134.172 -p tcp -m tcp --dport 80 -j DNAT --to-destination 61.222.134.172:8080
#-A PREROUTING -d 61.222.134.172 -p tcp -m tcp --dport 80 -i eth1 -j DNAT --to-destination 192.168.0.246:3389
#-A PREROUTING -d 61.222.134.172 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.251:3389 
#-A PREROUTING -d 61.222.134.172 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.251:80 
#-A PREROUTING -d 61.222.134.172 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.252:8080
# -A PREROUTING -d 61.222.134.172 -p tcp -m tcp --dport 20 -j DNAT --to-destination 192.168.0.2:20
#-A PREROUTING -p udp -m udp --dport 17500 -j DNAT --to-destination 192.168.0.34:17500
#-A PREROUTING -p udp -m udp --dport 17501 -j DNAT --to-destination 192.168.0.34:17501
#-A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.253:80
-A PREROUTING -p tcp -m tcp --dport 113 -j ACCEPT
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth0 -j MASQUERADE 
COMMIT
# Completed on Fri Mar 22 00:00:07 2002

/etc/ssh/sshd.conf

視需要修改以下設定:

# 變更預設 port 
Port 23
# 僅啟用 SSH v2 模式
Protocol 2

# 可以考慮更詳細的 Log 內容 LogLevel INFO

# 限制登入人員帳號 AllowUsers ada # 等待登入時限 - 1 分鐘 LoginGraceTime 1m # 是否接受 root 登入 - 不准! PermitRootLogin no

# To disable tunneled clear text passwords, change to no here! PasswordAuthentication no PermitEmptyPasswords no

# 若要打開 X11 Forwarding 的話要設定以下選項 AllowTcpForwarding yes GatewayPorts yes X11Forwarding yes

/etc/sysctl.conf

kernel 有許多參數可以透過 sysctl 進行設定!請 emerge sys-apps/procps 取得此輔助工具!

系統在初始化時會透過 sysctl 去載入 sysctl.conf 中的設定,因此任何 sysctl 可以存取的設定都可以寫在 sysctl.conf 中,如下例:

# /etc/sysctl.conf:
# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/sysctl.conf,v 1.3 2002/11/1819:39:22 azarah Exp $

# Enable packet forwarding net.ipv4.ip_forward = 1 # Disables IP dynaddr #net.ipv4.ip_dynaddr = 0 # Disable ECN net.ipv4.tcp_ecn = 0 # Enables source route verification #net.ipv4.conf.default.rp_filter = 1 # Disables the magic-sysrq key #kernel.sysrq = 0

有多少參數可以設定?請執行以下指令:

root@server # sysctl -a

2005年1月16日

/etc/dhcp/dhcpd.conf

option domain-name "domain.com";
option domain-name-servers 168.95.192.1, 139.175.10.20, 168.95.1.1;

default-lease-time 600; max-lease-time 7200;

ddns-update-style ad-hoc;

subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.32 192.168.0.254; option broadcast-address 192.168.0.255; option routers 192.168.0.1; option domain-name-servers 168.95.192.1, 139.175.10.20, 168.95.1.1; }

/etc/conf.d/dhcp

# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /home/cvsroot/gentoo-x86/net-misc/dhcp/files/dhcp.conf,v 1.4 2004/03//06 03:30:53 vapier Exp $

# Configure which interface or interfaces to for dhcp to listen on # list all interfaces space separated. IFACE="eth1"

# Insert any other options needed DHCPD_OPTS=""

# If you wish to run dhcp in a chroot, run: # ebuild /var/db/pkg/net-misc/<dhcp version>/<dhcp-version>.ebuild config # and un-comment the following line. # You can specify a different chroot directory but MAKE SURE it's empty. #CHROOT="/chroot/dhcp"

2005年1月15日

拿熱臉去貼人家冷屁股

剛聽到印尼拒絕台灣及以色列對海嘯受災地區的救濟物資,又想到外交部之前莫名其妙把對海嘯受災區援助金額提高到 5000 萬美元,真的只有一種感覺:拿熱臉去貼人家冷屁股!

2005年1月14日

利用 GMail 做自動備份

其實目前已使用 GMail 進行系統重要設定檔的備份動作,只不過是採用手動方式而以。

Astaka's Blog 中有一篇 備份BLOG資料庫到GMAIL,或許我該懶一點,讓系統自動做這個備份動作!

/etc/smb/smb/conf

Samba 3 的設定重點:

# 配合 Windows 中文檔名,只有這個重點!

[global]
  unix charset = big5
  dos charset = big5

# 保險起見,最好設定可以連線的 ip

  hosts allow = 192.168.0.

# 帳號管理模式

  security = user
  # 記得用 smbpasswd 新增 samba 使用者帳號

# 檢查 smbpasswd 指定的儲存位置

smb passwd file = /etc/samba/private/smbpasswd

# 建立 smbpasswd 指定的儲存位置

root@server #mkdir /etc/samba/private
root@server #touch /smbpasswd

系統安全檢查

以下是個人用在 Server 上進行安全性檢查的 Script, 放在 /etc/cron.daily 中每日執行乙次!

security.check.sh
#!/bin/bash
CHECKDAY=$(date +%Y-%m-%d)
LOGDAY=$(date -d"1 day ago" +%Y%m%d)
[email protected]

# 檢查 Gentoo 安全公告 # 做此項檢查必須安裝 app-portage/gentoolkit /usr/bin/glsa-check -l | grep "[N]" > /tmp/security.check

if [ -s /tmp/security.check ] then /bin/mailx -s "$CHECKDAY GLSA Security Check List" $EMAIL < /tmp/security.check fi

# 檢查 rootkit 木馬 /usr/sbin/chkrootkit | grep -v "not" | grep -v "packlist" > /tmp/chkrootkit.log /bin/mailx -s "$CHECKDAY Rootkit Check List" $EMAIL < /tmp/chkrootkit.log

# 檢查檔案特殊屬性 /bin/lsattr /sbin | /bin/grep -v ^------------- > /tmp/lsattr.lst /bin/lsattr /bin | /bin/grep -v ^------------- >> /tmp/lsattr.lst /bin/lsattr /usr/bin | /bin/grep -v ^------------- >> /tmp/lsattr.lst /bin/lsattr /usr/sbin | /bin/grep -v ^------------- >> /tmp/lsattr.lst

/bin/mailx -s "$CHECKDAY lsattr check list" $EMAIL < /tmp/lsattr.lst

# 檢查 sshd 登入狀態 及 /var/log/messes 中的錯誤記錄 /bin/grep "failure" /var/log/sshd/$LOGDAY.log > /tmp/sshd.check /bin/grep "failure" /var/log/messages/$LOGDAY.log >> /tmp/sshd.check /bin/mailx -s "$CHECKDAY sshd login status" $EMAIL < /tmp/sshd.check

另外 gentoo 也包了 rkhunter 檢查工具,請先 emerge rkhunter 後,修改 /etc/cron.daily/rkhunter 內容:

/etc/cron.daily/rkhunter
########################## Begin Configuration ###############################

# Default options - more options may be added depending on the # configuration variables you set below RKHUNTER_OPTS="-c --cronjob --skip-keypress"

# Set this to 'yes' to enable ; this script does nothing otherwise ENABLE=yes

# Automatically update rkhunter's dat files prior to running? UPDATE=yes

# Set this to 'yes' if you wish the output to be mailed to you SEND_EMAIL=yes

# NOTE: the following EMAIL_* variables are only relevant if you set the # SEND_EMAIL variable to 'yes' EMAIL_SUBJECT="${HOSTNAME}: rkhunter output" EMAIL_RECIPIENT=root EMAIL_CMD="|mail -s "${EMAIL_SUBJECT}" ${EMAIL_RECIPIENT}"

# Log rkhunter output? LOG=yes

# The default log location is /var/log/rkhunter.log. Set this variable if # you'd like to use an alternate location. #LOGFILE=""

# By default, the log file created by rkhunter is world-readable (0644). If # you'd like to modify the permissions afterwards, set this variable. The # value of this variable, must be a valid chmod argument such as '0600' or # 'u+rw,go-rwx'. See the chmod(1) manual page for more information. LOGFILE_PERMS="0600"

# By default, rkhunter overwrites the previous log. Set this variable # to 'yes' if you'd like the log output appended to the logfile, instead # of overwriting it. SAVE_OLD_LOGS=no

# Set to 1 to recieve only warnings & errors # Set to 2 to recieve ALL rkhunter output # Set to 3 to recieve rkhunter report VERBOSITY=1

########################### End Configuration ################################

2005年1月13日

/etc/syslog-ng/syslog-ng.conf

特別注意:

  1. syslog-ng 預設是將訊息全部寫入 /var/log/messages 這個檔案,以下的設定會嘗試建立一個 /var/log/messages/ 的目錄,因此 /var/log/messages 這個檔案要先刪除,否則 syslog-ng 就不會啟動!
  2. 以下的設定會在 /var/log 下建立多個目錄,並以 $YEAR$MONTH$DAY.log 為檔案建立每一日的記錄檔,因此要記得整理、刪除不要的檔案!
# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/files/syslog-ng.conf.gentoo,v 1.4 2004/07/18 02:25:02 dragonheart Exp $
#
# Syslog-ng default configuration file for Gentoo Linux
# contributed by Michael Sterrett

options { long_hostnames(off); sync(0);

# The default action of syslog-ng 1.6.0 is to log a STATS line # to the file every 10 minutes. That's pretty ugly after a while. # Change it to every 12 hours so you get a nice daily update of # how many messages syslog-ng missed (0). stats(43200); create_dirs(yes); };

source src { unix-stream("/dev/log"); internal(); pipe("/proc/kmsg"); };

destination messages { file( "/var/log/messages/$YEAR$MONTH$DAY.log" ); };

# By default messages are logged to tty12… destination console_all { file( "/dev/tty12" ); }; # ...if you intend to use /dev/console for programs like xconsole # you can comment out the destination line above that references /dev/tty12 # and uncomment the line below. #destination console_all { file("/dev/console"); };

#log { source(src); destination(messages); }; #log { source(src); destination(console_all); };

#postfix log filter f_postfix { program("postfix"); }; destination d_mail { file( "/var/log/mail/$YEAR$MONTH$DAY.log" ); }; log { source(src); filter(f_postfix); destination(d_mail); };

#driver log filter f_driver { program("drivers/usb/input/"); }; destination d_driver { file( "/var/log/drivers/$YEAR$MONTH$DAY.log" ); }; log { source(src); filter(f_driver); destination(d_driver); };

#POP3 log filter f_pop { program("pop3"); }; destination d_pop { file( "/var/log/pop/$YEAR$MONTH$DAY.log" ); }; log { source(src); filter(f_pop); destination(d_pop); };

#cron log filter f_cron { program("CRON"); }; destination d_cron { file( "/var/log/cron/$YEAR$MONTH$DAY.log" ); }; log { source(src); filter(f_cron); destination(d_cron); };

filter f_cron_daemon { program( "cron" ); }; destination d_cron_daemon { file( "/var/log/cron/daemon-$YEAR$MONTH$DAY.log" ); }; log { source( src ); filter( f_cron_daemon ); destination( d_cron_daemon ); };

#sshd log filter f_sshd { program("sshd"); }; destination d_sshd { file( "/var/log/sshd/$YEAR$MONTH$DAY.log" ); }; log { source(src); filter(f_sshd); destination(d_sshd); };

#spam log filter f_spam { program("spam"); }; destination d_spam { file( "/var/log/spam/$YEAR$MONTH$DAY.log" ); }; log { source(src); filter(f_spam); destination(d_spam); };

#amavisd log filter f_amavisd { program("amavis"); }; destination d_amavisd { file( "/var/log/amavisd/$YEAR$MONTH$DAY.log" ); }; log { source(src); filter(f_amavisd); destination(d_amavisd); };

#dhcpd log filter f_dhcpd { program("dhcpd"); }; destination d_dhcpd { file( "/var/log/dhcpd/$YEAR$MONTH$DAY.log" ); }; log { source(src); filter(f_dhcpd); destination(d_dhcpd); };

#webmin log filter f_webmin { program( "webmin" ); }; destination d_webmin { file( "/var/log/webmin/$YEAR$MONTH$DAY.log" ); }; log { source( src); filter( f_webmin ); destination( d_webmin ); };

#all other log filter f_other { not match( 'ctrl urb status' ); }; log { source(src); filter( f_other ); destination(messages); flags(fallback); };

配合前述的設定檔,每月進行一次 log 檔的整理、壓縮動作。

#!/bin/bash

LOG_DIR="amavisd cron dhcpd mail messages spam sshd webmin" LOG_HOME="/var/log" ARCHIVE_MONTH=$(date -d"1 month ago" +%Y%m) LOG_FILE="/tmp/logArchive.log"

for DIR in $LOG_DIR; do cd $LOG_HOME/$DIR echo "Creating $DIR-$ARCHIVE_MONTH.tar.bz2" >> $LOG_FILE echo "---------------------------------------------------------------" >> $LOG_FILE tar -cjvvf $DIR-$ARCHIVE_MONTH.tar.bz2 $ARCHIVE_MONTH*.log >> $LOG_FILE echo "---------------------------------------------------------------" >> $LOG_FILE echo "Removing $DIR $ARCHIVE_MONTH log files" >> $LOG_FILE rm $ARCHIVE_MONTH*.log echo "===============================================================" >> $LOG_FILE echo >> $LOG_FILE done;

/bin/mailx -s "$ARCHIVE_MONTH archived log files" <系統管理員信箱> < $LOG_FILE

Gentoo相關服務配合套件

  1. imap/pop3: net-mail/uw-imap
  2. Telnet: net-misc/netkit-telnetd
  3. DNS Tools: net-dns/bind-tools

2005年1月7日

開始尋找『いま、会いにゆきます』

看了一下簡介後,我開始尋找いま、会いにゆきます這部電影。

幾個原因:

  1. 號稱『在世界的中心呼喊愛』後另一個催涙電影,這是蘋果日報 說的..
  2. 女主角是在『天國書屋.戀火』一片中擔任女主角的 竹內結子
  3. 好像很好看… :p
聽說中文片名大概會翻成以下兩種,其中第二種翻譯應該是從劇情所衍生的。
  1. 現在,去見你
  2. 大約在雨季
這邊則是劇情簡介,雖然是簡體說明

2005年1月6日

輕閉雙眼

※持續中毒中...

以下是兩種版本的輕閉雙眼的中、日文歌詞,還有羅馬拼音。別問我為何有兩種版本,因為他們就是長的不一樣嘛… :( 第二版似乎才是完整版...

不過我一直懷疑這篇翻譯的歌詞非常給他不搭調?例如我一直很好奇,那個 脫下的軀殼 倒底是啥東西?

可參考 在世界的中心呼喊愛 - 非官方情報站

第一版:

瞳をとじて

朝目覚める度に 每當早晨醒來 asa meza me ru tabi ni

君の抜け殻が横にいる 你脫下的軀殼總在身邊 kimi no nu ke kara ga yoko ni i ru

ぬくもりを感じた いつもの背中が冷たい 過去總能感受到你背上的溫暖 今天卻昰一陣寒冷 nu ku mo ri wo kan ji ta i tsu mo no se naka ga tsume ta i

苦笑いをやめて 重いカーテンを開けよう 停止苦笑 拉開沉重的窗簾 niga wara i wo ya me te omo i kaa ten wo a ke yo o

眩しすぎる朝日 僕と毎日の追いかけっこだ 炫目的朝陽 每天追趕著我 mabu shi su gi ru asahi boku to mainichi no oi ka kek ko da

あの日 見せた泣き顔 那天 讓你見到我哭泣的臉 a no hi mi se ta na ki kao

涙照らす夕陽 肩のぬくもり 眼淚映照這夕陽 每當我祈禱能卸下肩上的溫暖 namida tera su yuuhi kata no nu ku mo ri

消し去ろうと願う度に 心が 体が 君を覚えている 我的身心卻都牢記著你 ke shi sa rou to nega u tabi ni kokoro ga karada ga kimi wo obo e te i ru

Your love forever 瞳をとじて 君を描くよ それだけでいい 輕閉雙眼 在心中描繪你的模樣 這樣就好 hitomi wo to ji te kimi wo ega ku yo so re da ke de i i

たとえ季節が 僕の心を 置き去りにしても 不管季節將我的心置於不顧 ta to e kisetsu ga boku no kokoro wo o ki sa ri ni shi te mo

いつかは君のこと なにも感じなくなるのかな 有一天對於你的事 我將會失去感覺吧 i tsu ka wa kimi no ko to na ni mo kan ji na ku na ru no ka na

今の痛み抱いて 眠る方がまだ いいかな 所以現在我仍然擁抱著這痛苦入眠 也無所謂 ima no ita mi da i te nemu ru hou ga ma da i i ka na

あの日 見てた星空 願いかけて 那天我看到了星空 對著它許下心願 a no hi mi teta hoshisora nega i ka ke te

二人探した光は 兩人一起探尋那光芒 futari saga shi ta hikari wa

瞬く間に消えてくのに 心は 体は 君で輝いてる 雖然瞬間消失 我的身心都因你而閃耀 mabata kuma ni ki e te ku no ni kokoro wa karada wa kimi de kagaya i te ru

I wish forever 瞳をとじて 君を描くよ それしか出来ない 輕閉雙眼 在心中描繪你的模樣 我只能如此 hitomi wo to ji te kimi

第二版

朝目覚める度に 
每當早晨醒來
asa meza me ru tabi ni

君の抜け殻が横にいる 你脫下的軀殼總在身邊 kimi no nu ke kara ga yoko ni i ru

ぬくもりを感じた いつもの背中が冷たい 過去總能感受到你背上的溫暖 今天卻昰一陣寒冷 nu ku mo ri wo kan ji ta i tsu mo no se naka ga tsume ta i

苦笑いをやめて 重いカーテンを開けよう 停止苦笑 拉開沉重的窗簾 niga wara i wo ya me te omo i kaa ten wo a ke yo o

眩しすぎる朝日 僕と毎日の追いかけつこだ 炫目的朝陽 每天追趕著我 mabu shi su gi ru asahi boku to mainichi no oi ka kek ko da

あの日 見せた泣き顔 那天 讓你見到我哭泣的臉 a no hi mi se ta na ki kao

涙照らす夕陽 肩のめくもり 眼淚映照這夕陽 每當我祈禱能卸下肩上的溫暖 namida tera su yuuhi kata no nu ku mo ri

消し去ろうと願う度に 心が 体が 君を覚えている 我的身心卻都牢記著你(註:覺得有缺一句) ke shi sa rou to nega u tabi ni kokoro ga karada ga kimi wo obo e te i ru

Your love forever 瞳をとじて 君を描をくよ それだけでいい 輕閉雙眼 在心中描繪你的模樣 這樣就好 hitomi wo to ji te kimi wo ega ku yo so re da ke de i i

たでう季節が 僕の心を 置き去りにしても 不管季節將我的心置於不顧 ta to e kisetsu ga boku no kokoro wo o ki sa ri ni shi te mo

いつかは君のこと なにも感じなくなるのかな 有一天對於你的事 我將會失去感覺吧 i tsu ka wa kimi no ko to na ni mo kan ji na ku na ru no ka na

今の痛み抱いて 眠る方だきだいいから 所以現在我仍然擁抱著這痛苦入眠 也無所謂 ima no ita mi da i te nemu ru hou ga ma da i i ka na

あの日 見てた星空 願いかけて 那天我看到了星空 對著它許下心願 a no hi mi teta hoshisora nega i ka ke te

二人探した光は 兩人一起探尋那光芒 futari saga shi ta hikari wa

瞬く間に消うてくのに 心は 体は 君で輝いてる 雖然瞬間消失 我的身心都因你而閃耀 mabata kuma ni ki e te ku no ni kokoro wa karada wa kimi de kagaya i te ru

I wish forever 瞳をとじて 君を描くよ それしか出来ない 輕閉雙眼 在心中描繪你的模樣 我只能如此 hitomi wo to ji te kimi wo ega ku yo so re shi ka deki na i

たとう世界が 僕を残して 過き去ろうとしても 即使世界將我棄之不顧 ta to e sekai ga boku wo noko shi te su gi sa ro o to shi te mo

Your love forever

瞳をとじて 君を描くよそれだけでいい 輕閉雙眼 在心中描繪你的模樣 這樣就好 hitomi wo to ji te kimi wo ega ku yo so re da ke de i i

たとう季節が 僕を残して 色を変うようても 儘管季節將我棄之不顧 自顧自的改變顏色 ta to e kisetsu ga boku wo noko shi te iro wo ka e yo u to mo

記憶の中に君を探すよそれだけだいい 我搜尋記憶中的你 這樣就好 kiyoku no naka ni kimi wo saga su yo so re da ke de i i

なくしたものを 越える強さを 超越了失落而獲得的堅強 na ku shi ta mo no wo ko e ru tsuyo sa wo

君がくれたから 是你賦予我的 kimi ga ku re ta ka ra

君がくれたから 是你賦予我的 kimi ga ku re ta ka ra

『在世界的中心呼喊愛』毒癮症候群

突然覺得自己真的很跟不上流行耶… 那部早已下檔的日本電影-在世界的中心呼喊愛-竟然在這幾天佔據了我 Blog 的大部份篇幅。連在 MSN 上都開始取一些怪名字,以下是幾個還記的住的暱稱:
  1. 在世界的中心呼喊愛
  2. 到世界的中心去旅行
  3. 在世界的中心,我看到骨灰在飛(這是因為想到孟庭韋的 誰的眼淚在飛 的衍生品:誰的骨灰在飛,原來是亞紀的骨灰… =.=b)
  4. 販售世界的中心曾撒過骨灰的泥土(這好像是費玉清的 送你一把故鄉的泥土 的衍生品:送你一把故鄉的泥土,請接受我的思念和祝福)(呃,這是幾十年前的愛國歌曲啊?)
雖然這幾個暱稱有其連續性,不過畢竟 Kuso 的成份佔大多數,不像有些網友一出手就差別立見…
  1. 我在世界的中心無法自拔

準備敗『在世界的中心呼喊愛』原聲帶

在開始撰寫『 在世界的中心呼喊愛(世界の中心で、愛をさけぶ) 』觀后感前,我想要從電影主題曲中進一步的感受男主角的心路歷程。又,聽說TV版本的主題曲則是女主角對男主角的期許、盼望(歌名好像叫:存在?),我… 我… 我好想買啊!

這是第二張讓我想買原聲帶的電影,上一張是『 天國書屋.戀火 』的電影原聲 DVD,那張原聲 DVD 本身總長 18 餘分鐘,花了 NT$498 元,可是我只要那段鋼琴組曲『 永遠 』的完整版本,這只有 5 分多鐘而以。慘烈的是,因為這張 DVD 的關係才知道原來那台 Sony DVD ROM 已宣告不治,被迫以 NT$3000 購入一台 DVD +/- RW DL,一個勁兒的追尋換來的是4張死小孩的離家出走,但是並不後悔。

嗯,在 TV 版還沒播完前,或許我該先寫寫『 天國書屋.戀火 』的心得吧?國內似乎沒看到有人在討論這部影片,應該是沒有上映的關係吧!

2005年1月2日

Remark 風再起?

這兩天電腦硬體界中有個很誇張的新聞,而網路上則也有一個相互呼應的熱門討論,他們的共通點都是 - Remark !

關於新聞部份,是關於 AMD 未通過檢驗的 CPU 被重新 Remark 成高階 CPU 的案件,各報相關的報導可以參考 Google News

另一個網路討論的內容,則是國內某家顯示卡廠商將低速、劣質記憶體顆粒 re 成高速的三星顆粒,卻被玩家發現晶片運作頻率遠低為 ATI 官方標準而爆發出來。更扯的是廠商眼見事態壓不下來後才將責任全推給記憶體顆粒供應商,完全對顯示卡預設運作頻率不符 ATI 官方規定一事隻字不提(從此點來說,該廠商不可能不知道記憶體有問題),並還揚言控告網路玩家散佈不實消息等等。相關的討論可以在滄者極限討論區PCDVD數位科技討論區中瞭解來龍去脈。

  1. 為免買到 Remark 過的 CPU,請不要為了省下2~300元而購買散裝、沒有發票的CPU(Intel系亦同),事實上CPU在保固期限內非人為故障是可以透過發票和包裝盒向製造商換新的。
  2. 那家顯示卡製造商的東西,就看大家囉!不過我個人本來就對這種三線小廠的東西不怎麼放心,所以現在不會買、未來也不會去使用(送的也不要)這家廠商的東西了!
另外,也奉勸各位買家不要以為買電腦只要便宜就好。產品的售後服務就是在 Costdown 下被犧牲了,只有當你碰上了後才知道事情的嚴重性:CPU Remark 事小,要是電腦因此而爆炸或起火燃燒時,損失的絕對不是1~2000元,慎思!

立委選舉泛藍過半後遺症湧現

近年來台灣每逢元旦、總統就職、以及國慶日時的三項慣例:
  1. 依慣例總統會發表元旦文告
  2. 依慣例總統會宣示朝野和諧
  3. 依慣例泛藍通常有幾種回應方式:
    * 相應不理、冷處理
    * 要總統先拿出誠信原則
    * 擺明『別傻了,總統』
不管怎麼說,泛藍的回應模式導致整個主控權還是握在陳水扁手上,難到泛藍沒有任何一個人發現這些制式的回應模式又中了陳水扁的計了嗎?是不願去面對全國人民對朝野和諧的要求?還是不敢出言反駁主事者錯誤的決策作為呢?

當立委席次泛藍過半的情形確認後,泛藍仍然沉浸在泛藍支持度過半的假相裡,所以上述的三項慣例也就繼續成為慣例。於是原先期盼的朝野和諧、社會安定成了選民永遠不能實現的最後一線希望。

泛藍真的過半了嗎?當超過 40% 的選民選擇冷漠以對的時候,泛藍啊,請不要在做你的白日夢了,也不要再處處以反扁為立委主要任務,我們只想要一個安定的生活環境。當泛綠開始認清中間選民的存在時,泛藍啊,你那陳腐的腦袋中倒底看到的是啥麼要的未來?是總統大位?還是全民的笑靨?