【Linux主機+架站+維護教學+遠端協助】專案 網路開展事業或在網路賺錢第一步: 【架設24小時賺錢網站主機】比網頁設計更優先! 你還在租用虛擬主機嗎? (租用不如自有主機!自己當家作主才是:王道!) 因租用會:限制空間大小、流量、PHP.ini修改、特定語法使用... 綁手綁腳,你還能有多出眾的作為? 替你架設Linux主機伺服器+影片教你維護 (還有遠端技術協助)讓你自己當家作主! 為協助學員快速架站(隨心所欲展開網路事業)總教頭特別規劃: 替你架設Linux主機專案 並教如何成為網管高手! 聰明的網站經營者都選擇架設Linux主機伺服器做為網站運作平台,因功能完整又強大,免費架站程式超多! 參加了本專案,您無須再自我摸索曠日廢時→快速打通任都二脈 還有配套『加盟專案』,你可以現學現做,自然的實現:『事少、錢多、離家近!』的成功境界。

Linux新手知識

FTP檔案傳輸服務(Linux主機伺服器架設技術)

Linux sqz 上的檔案傳輸服務預設是使用 vsftp 套件,裝妥時的預設狀態如下:

1. 使用 stand alone 方式提供服務
2. 任何合法使用者皆可以登入,並存取自己家目錄底下的檔案
3. 關閉 anonymous
4. 基於安全因素使用登入後,其家目錄就是根目錄 (chroot_local_user=YES ),因此無法在「第三地」建立「公用資料夾」後,以 link 的方式給各使用者存取。

安裝

* 安裝
root@dns:~# apt-get update
root@dns:~# apt-get install vsftpd

設定檢查

* 請檢查 /etc/vsftpd.conf 內的設定值是否與下面所列一致

#在IPv4監聽,若要改成 IPv6 監聽,一定要修改/etc/rc.local內的 ip6tables 以及給予 fix ipv6 address
listen=YES
#listen_ipv6=YES
#不允許anonymous公共下載區
anonymous_enable=NO
#列出資料夾內檔案詳細列表
dirmessage_enable=YES
#使用本機時間
use_localtime=YES
#使用記錄檔
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
#啟動主動式傳輸
connect_from_port_20=YES
#一些安全性設定
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
#啟用本機 User
local_enable=YES
chroot_local_user=YES
write_enable=YES
local_umask=022

建立公用資料夾

如果學校希望使用者在登入 FTP 服務後,只能存取「自己的家目錄」及「共用區」,而看不到別人的資料夾。筆者以 /home/ftp/pub 為公用區為例,其作法如下:

1. 公用資料夾建在在 /home/ftp/pub 底下
root@dns:~# mkdir /home/ftp/pub
2. 檔案權限開成 1777,使共用區內每個人皆可上傳修改自己的東西,但不得互改他人的
root@dns:~# chmod 1777 /home/ftp/pub 。
3. 接著,在每個 user 的家目錄下執行以下兩個動作(以 root 身份),便可以達成「共用區」的建立。
* 每個 User也須建立 pub 資料夾(若已建立,不必再做)
root@dns:~# mkdir /home/user/pub
* 把 /home/ftp/pub 掛載至 /home/user 底下(每次重開機,必須執行一次)
root@dns:~# mount –bind /home/ftp/pub /home/user/pub
* 下 mount 指令檢視
root@dns:~# mount

做完之後,大家所存進 pub 資料夾的檔案,實際上是放在 /home/ftp/pub,而且由於 1777 的作用,大家不可互相刪改對方的。只是,還有兩個問題尚待解決:

1. 每個帳號都要執行一次這樣的指令,著實麻煩。
2. 下次開機要再 key in 一次這樣的指令

一次把掛進所有使用者

筆者為解決上述的問題,已寫一支 shell script 在此: 檔案:Pubfolder.zip。本方案,會把所輸入的「共用資料夾」建在 /home/ftp 底下。以下是本程式之使用注意事項:

* 要共用時
root@dns:~# pubfolder.sh -m 共用資料夾名稱
若 /home/ftp 底下無此資料夾,會以 1777 權限自動建立
* 要解除共用時
root@dns:~# pubfolder.sh -u 共用資料夾名稱
* 下次開機也能自動掛載時,請在 rc.local 的底下, exit 0 之上,加上
root@dns:~# vi /etc/rc.local

……

pubfolder.sh -m 共用資料夾名稱

exit 0

* 使用「root@dns:~# mount」指令來檢視掛載狀態,若有以下字串,代表共用區已掛載


/home/ftp/public on /home/tnc01/public type none (rw,bind)
/home/ftp/public on /home/tnc02/public type none (rw,bind)
/home/ftp/public on /home/tnc03/public type none (rw,bind)

* 註1:若 「/home/ftp/共用資料夾」未事先建立,而產生此一錯誤訊息,可以不理會「special device /home/ftp/xxxx does not exist」
* 註2:預設所建立的共用資料夾權限為 1777 , 若想改為 777 請自行修改原始碼(把唯一有 1777 的地方改掉)
* 註3:mount 指令的運用,本來就是兩地都要有實體資料夾,意即本工具會在 /home/ftp 底下建一個真正的存放區,也會在各個 User 底下建一個同名「空的」的資料夾,供 mount –bind 用。
* 註4:延續註3 所提,在使用 pubfolder.sh -u 解除共用區之後,並不會把各家目錄底下的那個「空的」同名資料夾刪除,可能會造成您覺得共用區並沒刪除的假像。

此機制下rSync備份注意事項

由於我們把 /home/ftp/pub 掛載至 /home/user/pub ,因此,事實上所有資料檔案是在 /home/ftp/pub 底下,但 rsync 程式並不知道這件事,在備份執行時,會把每個人的 pub 皆複製一份,造成 pub 重覆備份的現象。解決方法如下:

* 修改 /root/bk-Linux.sh,在執行 rsync 指令的前面先缷載再掛載,舉例如下:

#! /bin/sh

/root/pubfolder.sh -u pub

/usr/bin/rsync -rvlHpogDtS –password-file=/root/rsyncd.secrets /var/lib/mysql my_backup@163.26.x.x::mybk
/usr/bin/rsync -rvlHpogDtS –password-file=/root/rsyncd.secrets /var/www yh_backup@163.26.x.x::mybk

/root/pubfolder.sh -m pub

使用Linux新手要瞭解的十個知識

1.Linux是大小寫敏感的系統,舉個例子,Mozilla, MOZILLA, mOzilla和 mozilla是四個不同的指令(但是只有第四個mozilla是真正有效的指令)。還有,my_filE, my_file,和 my_FILE是三個不同的檔案。使用者的登入名和秘密也是大小寫敏感的(這是因為UNIX系統和C語系的傳統一向是大小寫敏感所致)。

2.檔名最多可以有256個字元,可以包括數字,點號」.」,下劃線」_」,橫桿」-」,加上其他一些不被建議使用的字元。

3.檔名前面帶」.」的檔案在輸入」ls」或是」dir」 指令時一般不顯示。可以把這些檔案看作是隱含檔案,當然你也可以使用指令」ls –a」來顯示這些檔案。

4.「/」對等於DOS下的」」(根目錄,意味著所有其他目錄的父目錄,或是是在目錄之間和目錄和檔案之間的一個間隔符號)。舉個例子,cd /usr/doc。

5.在Linux系統下,所有的目錄顯示在單一目錄樹下(有別於DOS系統的磁碟機標識)。這意味著所有的物理裝置上的所有檔案和目錄都合併在單一的目錄樹下。

6.在配置檔裡,以#打頭的行是注解行。在修改配置檔的時候盡量不要刪除舊的設定--可以把原來的設定加上」#」變成注解行,總是在修改地方對應地加入一些關於修改的注解,你會發覺在以後的管理中獲益多多。

7.Linux是繼承性的多使用者操作系統。你的個人設定(和其他使用者的個人設定)放在你的主目錄下(一般是/home/your_user_login_name)。許多的配置檔的檔名都以」.」開頭,這樣使用者一般看不到這些檔案。

8.整個系統範圍的設定一般放在目錄/etc下。

9.和其他的多使用者操作系統類似,在Linux下,檔案和目錄有自己的擁有者和訪問權限。一般來說,你只被容許檔案到你的主目錄下(/home/your_user_login_name)。學習一些關於檔案權限管理的關聯知識,否則你肯定會覺得Linux實在很麻煩。

10.指令參數選項一般由」-」引導,後面跟一個字元(或是」–「,當選項超過一個字元時)。這樣,」-」有點像DOS下的」/」。舉個例子,輸入指令 rm –help。