Ubuntu 12.04 Server vsftpd change root 的應用

chroot_local_user=YES到底是定義本機帳戶「可」或「不可」逸出根目錄,我在鳥哥的網站找到答案,chroot=change root,這就是「可」以逸出帳戶的根目錄。

以此延伸,那麼chroot_list_file內的名單,就是允許逸出自己根目錄的名單,當然,同一組設定chroot_list_enable=YES一樣不能少,那麼,這三個條件都設定好了,就可以盡如人意了麼?我在Ubuntu 12.04 Server試了很久,得到的回應都是「500 OOPS: vsftpd: refusing to run with writable root inside chroot()」,後來使用chown,將根目錄own改為ftp,FTP client才順利得到正確回應。

我的另一個建議是,無限逸出根目錄也沒有必要,如果某組帳戶須要,那就變更這組帳戶的根目錄為/home,再使用ssh利用ln指令,連結/home下的任何子目錄來加以應用即可。

台灣夢幻島-澎湖

年輕時的夢想
澎湖是我年輕時就想去的地方,這幾年,一直想著要去看看,孩子都去過了,因此樂於為我安排一次澎湖之旅。

澎湖鳥瞰
澎湖鳥瞰
第一次印象
下飛機,沿途景觀,給我的第一印象是:宮廟多、綠色草皮多,有許多的新建物,尤其二崁、花宅兩聚落,乾乾淨淨,印象非常深刻。

澎湖天后宮
澎湖天后宮
菊島的稱呼
為什麼是「菊」島,「天人菊」之島,澎湖各島,普遍出現「天人菊」,是人為或是天然,就無須考究。

澎湖天人菊
澎湖天人菊
黃金海岸
去過蒔裡、山水兩處沙灘,都很美,聽說溢門更大更漂亮,錯過了,下次再來。黃金沙灘是由千千萬萬的小貝売形成,非常乾淨美麗,也聽說吉貝更大。

澎湖黃金海岸
少時記憶
忘了那時的記憶,天后宮前面有棵大榕樹,第一天到馬公的天后宮已是下午二點,太陽很大,天后宮重新整修並不讓我失望,前面那棵榕樹卻是讓我失望好久,倒是老伴提醒說應該不在這裡,詳閱了導覽圖,才知在通樑,通樑古榕,在跨海大橋附近,記憶裡竟然相差許多。

澎湖雙心石滬
澎湖雙心石滬
馬公與媽宮
戰後,台灣很多地方都被更名,澎湖大概也不例外,小時候常聽母親掛在口上的大貝湖改為澄清湖,我的家鄉三塊厝改為三家村,聽說朋友家鄉王宮也被改成王功,仔細聽當地稱呼地名,還是媽宮居多。

澎湖媽宮
澎湖媽宮

Ubuntu Server 12.04 設定 DNS client位置

Ubuntu 設定 DNS client ,以往都是編輯 /etc/resolv.conf,但在Server 12.04時,該檔案編輯後,會被蓋掉,resolv.conf上面也註明不能在這裡編輯,也註明會被蓋掉。

必須編輯 /etc/resolvconf/resolv.conf.d/base,DNS client編在這裡就不會被蓋掉。

台灣人吃不到台灣漁民捕到的魚

 

由於參加小吃工會一天旅遊行程,得有機會登上龜山島,很久就響往的地方。這躺龜山島之行,讓我感覺台灣旅遊素質確已提昇烏石港的船還是很新,賞鯨與島上導遊分開,從導遊解說中,可知已受一定程度的訓練,一路是驚奇連連,而最讓我耳目一新的是登島導遊的額外交談是:台灣人吃不到台灣漁民捕到的魚。

我出生嘉義東石,從小吃魚成為習慣,但不曾記得從那一年開始,總覺得魚的口味不對,喜歡吃的白帶魚、虎漫都在菜市場絕蹟。而原來台灣漁民因為外銷中國的價格相對內銷台灣穩定,獲利較豐,所以大部份都銷往中國及台灣餐廳,台灣菜市場反而是中國來的劣等貨。

 

好用的防火牆iptables

閱讀相關的文章,一再推荐iptables,幾次嚐試失敗後,再爬文,終於有一些心得,提供同好參考。

上一篇文章提到,我把網站伺服器與檔案傳輸服務結合在Ubuntu 12.04 Server上,而網站伺服器,設定須要做客戶服務,須要將意見反應給公司業務的郵件服務,簡單想到開啟21 25 80埠,事實比較複雜,網路上,大都部份描述,今天把它湊合一起:

  • #vi /etc/vsftpd.conf

    增加下列3行
    pasv_enable=YES
    Pasv_min_port=4000
    pasv_max_port=4500

  • #vi /root/iptables.sh

    #!/bin/bash
    /sbin/iptables -F
    /sbin/iptables -X
    /sbin/iptables -A INPUT -p tcp -m multiport –dport 20:21,22,80,4000:4500 -j ACCEPT
    /sbin/iptables -A INPUT -p tcp -sport 25 -j ACCEPT
    /sbin/iptables -A INPUT -p tcp –dport 25 -j ACCEPT
    /sbin/iptables -A INPUT -p tcp -I eth0 -j DROP

最後,將/etc/rc.local加入一行:

/root/iptables.sh

別忘了reboot…

vsftpd設定不同使用者的各別目錄

第一次嚐試將網站伺服器與檔案傳輸服務結合在Ubuntu 12.04 Server,剛開始也很頭痛,原因是:我不想讓網站內容暴露在FTP使用者可視範圍,經過參考網路的幾篇文章,終於完成我的心願。

  • 改變FTP的根目錄,同時限定FTP用戶不得切換根目錄以外的名單位置,將FTP使用者限制在/home/ftp底下
    • root@xxx:~#vi /etc/vsftpd.conf

    chroot_list_enable=YES
    chroot_list_file=/etc/vsftp.chroot_list
    local_root=/home/ftp

  • 將欲限制的FTP使用者(本機用戶)寫入名單
    • root@xxx:~#vi /etc/vsftpd.chroot_list

    (受限的本機帳戶xxx)
    (受限的本機帳戶ooo)

  • 將自己的帳戶,排除在上面的名單外,自然可以逸出上面根目錄的限制,而可以另外設定網站對應的根目錄

在apache2的根目錄,我設在/home/(網站管理員本機用戶位置)/www/html,也就是本機用戶的預設位置,然後再利用ln –s方式,將它連結到/var/www/html位置。

最後,設定目錄權限,使用chmod將/home/ftp之下設為755,這樣,可讓FTP用戶間,可以彼此下載,並使用chgrp 及chown設定/home/ftp/(各別用戶專用目錄),設定為各別本機帳戶,這樣設定的用意在於,本機帳戶只能上傳到自己的專用目錄裡。

備註:本文是在Ubuntu 12.04 Server vsftpd v.2.3.5條件下

建置Ubuntu Server 12.04的中文環境

相信很多人都跟我一樣,建置好Ubuntu Server 以後,使用apt-get指令,會出現一堆亂碼,亂碼之所以令人不舒服,是因為不知道到底發生了什麼事。

當然,最多被採用的是,轉回英文環境,問題在於;台灣環境裡,當然會被使用到中文,尤其在FTP裡,使用英文檔名不如使用中文檔名來得容易被接受。

如果使用desktop ,這件事情比較容易解決,我在Ubuntu Desktop 10.04就成功地使用嘸蝦米輸入法,建立中文環境,比較困難的是在Server環境裡,在前一篇文章裡,述說Server無法建立中文輸入法,而在這裡,則發表個人在Ubuntu Server 12.04建立中文環境的經驗,提供同好參考。

Google可以找到許許多多對於建立中文環境的文章,但不如這篇文章來得有效及容易理解,依照這篇文章,可以迅速解決中文環境的問題,但在Windows 7環境裡,卻出現新的問題。

UTF-8是新的趨勢,這是無法擋的事實,在普遍使用Windows 7,甚至Windows 8,都被採用UTF-8,但是SSH遙控軟體如Pietty都還使用Big5,要解決FTP的中文檔名著實須要費些功夫,這裡是我的變通辦法:

主目錄我使用了英文,主目錄通常必須使用SSH遙控軟體編輯,次目錄,我則利用目前很通用的FTP Client FileZilla的字碼集來編輯中文目錄,通常,使用者被告知這個特性後,如果使用BIG5編輯目錄時,則將FileZilla Client字碼集調在BIG5,使用UTF-8時,則調在「強制使用UTF-8」,如果使用者發現無法點入次目錄,則調整字碼集。

至於在pietty或是Hyper-V,如果使用環境單純BIG5或UTF-8問題比較容易解決,就將default環境調在BIG5或是UTF-8,否則使用複製的特性,也可解決中文檔名的問題,只是須要再一次使用FileZilla Client來印證檔名,比較麻煩,不過這是BIG5 UTF-8參雜時代很無奈的問題。

建議使用單純的Big5或是UTF-8,我的經驗是:

Vi /var/lib/locales/supported.d/local
並列
zh_TW.BIG5 BIG5
en_US.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8

vi /etc/default/locale

使用Big5環境:
LANG=”zh_TW.Big5″
LANGUAGE=”zh_TW:Big5″

使用UTF-8環境:
LANG=”zh_TW.UTF-8″
LANGUAGE=”zh_TW:zh”

遙控端軟體則使用putty模式,當使用UTF-8環境時,調整:Category/Windows/Translation/Received data assumed to be in which character set:UTF-8

參考:http://zgod.pixnet.net/blog [初建置的中文環境]

Ubuntu 12.04 Server 無法使用中文輸入法

使用中文輸入法有很大的方便性,直接標出生活慣用的文字,易懂、易讀。

上個月,因為兩部使用Ubuntu Desktop 安裝的伺服器,由於由7.04升級到12.04跑起來總有些功能不見了,因此升起重新安裝的念頭。

即是重新來過,也總想就直接安裝Server版本,用以降低使用資源,因為是架在Hyper-V上,資源能省則省,可也把檔案傳輸與網站伺服器並在一起,反正多給些Memory就是了。

使用Ubuntu來安裝Server版本,第一次嚐試,就算是學習,幾次失敗也就比較沒有挫折感,但對於試了好多方法,都無法安裝中文輸入法,打從心裡就起了毛球。

試試Google吧,卻發現Ubuntu論壇有篇文章,版主直接表明:最後放棄(安裝中文輸入)了,而另一篇文章明白地說明方法。

既然已有高手放棄,看來是件難以達成的工作,先照著方法去做吧。