動作

YHTools

出自 Itsmw

UbuntuLinux網管手冊補充說明


筆者新書:「 UbuntuLinux 網管手冊」已出版,書本未盡事宜之處如下:

  • 書本內容錯誤訂正區
    http://myip.tw/itsmw/index.php?title=Ub1104_Revise
  • 內容若有不足之處,可點選左側「首頁」進入筆者之「網管文件」區,搜尋相關內容。該份文件雖為 OB2D(Debian Linux衍生品)所寫,但大部分的內容仍可用在 Ubuntu 底下。舉例而言:
    • Bridge Mode Firewall設定,書本未提如何加上 IPv6 的透通,您可參考網管文件之「透通式防火牆」一文
    • 書本網頁伺服器只提 nginx 架設,若您只需要 apache2 ,可參考網管文件之「網頁伺服器」一文
    • 網芳伺服器如何出現「資源回收筒」,可參考網管文件之「Samba網路芳鄰」
    • ......
  • 您的支持,是小弟改版最大的動力,上述錯誤修訂以及內容未盡完善之處,要先請諸位先進多所包涵,若書本賣得出去,小弟才有改版修正的機會,感謝大家支持。




工具簡介

 本工具集是為解決安裝完 Linux 之後,還要花長時間去修改各伺服器設定檔的困擾而出現。所提供的功能,請見下方工具的簡介文。工具的開發軟體有二,一是 python3.x 開發(副檔名為 pyw),需要圖形化介面暨 UTF-8 中文顯示的能力,因此請在具有 python3 環境下的 linux 套件執行。另一種是 BASH ,副檔名為 .sh 可直接在終端機畫面執行。



版權暨免責聲明

  • 本工具以 GPL v2 授權方式給大家使用
  • 開發本工具的兩種程式皆是具純文字檔兼可執行的 SCRIPT ,因此下載後便可瀏覽/修改原始碼,您可自行修改成符合您自己需求的狀態再使用。
  • 無論 BASH 或是 Python3 對筆者而言都是初學的程式語言,因此程式碼不儘完善,無法保證任何執行結果。



使用前注意

  • 底下各工具使用說明均極簡化,請各位一定要配合本站各伺服套件相關文件說明來使用
  • 基本上 YHTools 就只是把文件上要各位輸入的設定檔「快速製造」出來,以省去您打字的時間而已。



改版說明

  • 2011-05-09 改版:fw4local.pyw 單機防火牆規則列勾選防禦 SSH Port 卻變成 FTP Port 之錯誤修定
  • 2011-05-10 改版
    • 新增 yhtools/chmodadv.sh 程式,使 chmod 777|755 時會自動判斷資料夾(777|755)或檔案(666|644)
    • 修改 homechown.sh 為不必先複製到 /home 底下也可以執行
  • 2011-05-11 小改 yhtools/chmodadv.sh 的提示字元
  • 2011-05-12 修改
    • yhtools/fw4nat.pyw 裡面有註解「#」符號之前誤 key 成全形字元
    • yhtools/dhcpconf.pyw 修改成產生 dhcpd.conf 及 isc-dhcp-server 分別準備要放至 /etc/dhcp 及 /etc/default
      這是 debian squeeze 及 ubuntu 11.04 版本,最新的做法,之前使用 ubuntu 10.10 沒注意到,現在修改。
  • 2011-05-16 修改 yhtools/dhcpconf.pyw 之提示字元



工具使用

系統要求

  1. Debian Squeeze 或 Ubuntu 10.10 以上並必須安裝 X-Window 視窗
  2. python3.1.x, python3-tk(8.5以上)
    • apt-get update
    • apt-get install python3 python3-tk



工具下載與使用時注意事項

下載


使用注意事項

  • 後面所有的工具使用,皆是預設已經是切換成 root 身份,並在 root 家目錄的情況下所做的說明。
  • 執行每個工具前,在輸入程式名稱前一定要加「./
  • 舉例如后:
    • root@dns:~# cd yhtools
    • root@dns:~/yhtoosl# ./dnsconf.pyw




工具集程式列表

.
|-- chmodadv.sh
|-- dhcpconf
|   |-- dhcp3-server
|   |-- dhcpconf.pyw
|   `-- dhcpd.conf
|-- dnsconf
|-- dnsconf.pyw
|-- dnsconf.sample
|   |-- db.0
|   |-- db.127
|   |-- db.255
|   |-- db.local
|   |-- db.root
|   |-- named.conf
|   |-- named.conf.default-zones
|   `-- named.conf.options
|-- firewall
|   |-- fw4br.pyw
|   |-- fw4local.pyw
|   |-- fw4nat.pyw
|   |-- fwtc4_l7filter.sh
|   `-- fwtc.sh
|-- homechown.sh
|-- maccount
|   |-- maccount.sh
|   |-- passwd.txt
|   `-- readme.txt
|-- pubfolder.sh
|-- README.TXT
|-- rsync
|   |-- rsync_c.pyw
|   `-- rsync_s.pyw
`-- test.py




各工具簡介

chmodadv.sh

  • 使用時機:修改檔案權限
    有時我們從網路下載,並用圖形化工具解壓縮出資料夾檔案權限為 700 ,但我們需要的卻是 777|755 (例:xoops 目錄要755才可被安裝)。可利用本工具把 700 的權限連同子目錄改成 777|755 ,而且它不限幾層子目錄,也具自動判斷功能,會把資料夾設為 777|755,檔案設為 666|644。
  • 注意事項:若資料夾內含可執行權的檔案,也會一律被改成 644
  • 使用方式:chmodadv.sh 777|755 資料夾名稱
    • 可複製到 /usr/local/bin 以方便執行
      root@dns:~# cp yhtools/chmodadv.sh /usr/local/bin
    • 例一:root@dns:~/下載/xoops-2.5.0# chmodadv.sh 755 htdocs
    • 例二:root@dns:~/下載/xoops-2.5.0/htdocs# chmodadv.sh 777 uploads




dhcpconf.pyw

  • 使用時機:快速產生 DHCP3 Server 所需的設定檔,/etc/default/dhcp3-server 及 dhcpd.conf
  • 注意事項:各版本的 dhcp3 主設定放置地點不一定一樣,可能在 /etc/dhcp3 ,也可能在 /etc/dhcp
  • 使用方式:
    • 執行本工具
      root@dns:~/yhtools/dhcpconf# ./dhcpconf.pyw
    • 把產出的 dhcp3-server 及 dhcpd.conf 複製到各自的位置




dnsconf.pyw

  • 運作原理請參考文件:http://myip.tw/itsmw/index.php?title=DNS
  • dnsconf.pyw 為使用 python3 撰寫之圖形化 dns server 設定檔產生器
    • 網域名稱與 IPv4 位址為必填項目
    • 有 IPv6 者,請填 IPv6 網段及末碼 IP 值,例:2001:288:75a6 及 19 程式會自己組合成 2001:288:75a6::19 參數。


  • OB2D sqz 使用者,一定要把視窗介面安裝起來
  • 若已使用過 OB2D sqz 內建的 DNS 產生器(曾勾選這台要擔任DNS伺器),那麼:
    1. 把 ./yhtools/dnsconf.sample/ 底下所有檔案先複製到 /etc/bind 底下
    2. 執行 dnsconf.pyw後,再把產生在 ./yhtools/dnsconf 底下的另一批設定檔,也複製到 /etc/bind 去。
  • 非 OB2D sqz 或新安裝 OB2D sqz 但未勾選過要「擔任DNS伺服器」時
    • 只要把執行 ./yhtools/dnsconf.pyw 產生在 ./yhtools/dnsconf/ 底下的設定檔複製到 /etc/bind 底下即可。




fwtc.sh

  • 參考文件: http://myip.tw/itsmw/index.php?title=Link_Control
  • 程式 yhtools/firewall/fwtc.sh 為在 NAT 或 Bridge Route 防火牆下協助做流量管制的工具。
  •  使用方式:請先直接編輯 fwtc.sh 內的設定值再啟用
  • 修改設定值
    root@dns:~# vi fwtc.sh (再依裡面的提示遂一修改)
  • 服務控制
    • 啟動:
      root@dns:~# ./firewall/fwtc.sh start
    • 中止:
      root@dns:~# ./firewall/fwtc.sh stop
    • 顯示:
      root@dns:~# ./firewall/fwtc.sh show




fw4local.pyw

  • 運作原理請參考文件: http://myip.tw/itsmw/index.php?title=OB2D_Iptables
  • 程式: yhtools/firewall/fw4local.pyw 本機防火牆規則列設定
  • 使用:
    • root@dns:~# cd yhtools/firewall (假設目前是在 root 的家目錄底下)
    • root@dns:~/yhtools/firewall# ./fw4local.pyw  (請依需求,填入各項參數)
    • 先點「確定」產生 rc.local,再按「Escape」離開本工具
    • 檢視內容若沒問題,覆蓋 /etc/rc.local 即可
      root@dns:~/yhtools/firewall# cp -f rc.local /etc (/etc/rc.local 的內容在開機時會被自動執行)
    • 跳回 root 家目錄
      root@dns:~/yhtools/firewall# cd
    • 套用新規則列
      root@dns:~# service rc.local start




fw4br.pyw

參考文件:http://myip.tw/itsmw/index.php?title=OB2D_Firewall

  • 程式: yhtools/firewall/fw4br.pyw 透通式防火牆設定工具
  • 說明:
    請先確認 /etc/network/interfaces 內容只剩 lo 的設定(這是ubuntu的預設狀態),詳見 http://myip.tw/itsmw 文件
  1. 執行設定工具
    • 進入 yhtools/firewall 目錄
      root@dns:~# cd ./yhtools/firewall
    • 產生設定檔
      root@dns:~/yhtools/firewall# ./fw4br.pyw (依需求填寫表單)
  2. 先點「確定」產生 rc.local,再按「Escape」離開本工具
  3. 檢視內容若沒問題,覆蓋 /etc/rc.local 即可
    root@dns:~/yhtools/firewall# cp -f rc.local /etc (/etc/rc.local 的內容在開機時會被自動執行)
  4. 套用新規則列
    • root@dns:~/yhtools/firewall# service rc.local start
    • 切回 root 家目錄
      root@dns:~/yhtools/firewall# cd
      root@dns:~# _




fw4nat.pyw

  • 運作原理請參考文件: http://myip.tw/itsmw/index.php?title=OB2D_NAT
  • 程式: yhtools/firewall/fw4nat.pyw 建立虛擬 IP 網段設定工具
  • 說明:
    請先確認已設妥 eth0 及 eh1 網卡一為公用 IP 一為私有 IP,設定方可以參考本站 Ubuntu 11.04 文件。
    • root@dns:~# cd ./yhtools/firewall (假設已在 root 家目錄底下)
    • root@dns:~/yhtools/firewall# ./fw4nat.pyw (請依需求填寫表單)
    • 先點「確定」產生 rc.local,再按「Escape」離開本工具
    • 檢視內容若沒問題,覆蓋 /etc/rc.local 即可
      root@dns:~/yhtools/firewall# cp -r rc.local /etc  (/etc/rc.local 的內容在開機時會被自動執行)
    • 套用新規則列:root@dns:~/yhtools/firewall# service rc.local start
    • 切回 root 家目錄
      root@dns:~/yhtools/firewall# cd
      root@dns:~# _




homechown.sh

 homechown.sh 快速恢復 /home 底下各家目錄為原使用者。

  • 程式: yhtools/homechown.sh
  • 詳細說明請參考本站文件:「資料移轉家目錄權限處理
  • 要求:各家目錄的使用者必須先建立完畢
  • 使用:直接執行 homechown.sh,若沒任何訊息,代表成功執行
    • root@dns:~# cd yhtools
    • root@dns:~/yhtools# ./homechown.sh




maccount.sh

 工具:maccount.sh 是以 BASH 寫成的大量建帳號工具,支援 samba 同步及 MySQL 同名資料庫建立。程式與使用方式,請切換至 yhtools/maccount 底下,詳讀 yhtools/maccount/readme.txt 裡面的說明。

  • 程式: yhtools/maccount/maccount.sh
  • 說明文件: yhtools/maccount/readme.txt ;請務必先讀本說明再使用
  • 供 maccount.sh 使用的帳號密碼表「passwd.txt」,務必要先使用 dos2unix 指定轉換成 unix/linux 斷行符號的格式後,再繼續操作。
    root@dns:~# dos2unix passwd.txt
    root@dns:~# ./maccount.sh add passwd.txt (以大量新增帳號為例)
  • 若 dos2unix 尚未安裝,請先安裝
    root@dns:~# apt-get update
    root@dns:~# apt-get install dos2unix




pubfolder.sh

 pubfolder.sh 是 bash 寫成的共用資料夾設定工具,它為協助使用者建立 ftp 共用資料夾專用的小程式由於 vsftpd 基於安全性,會設定使用者登入後不得切換至其他資料夾(chroot_local_user=YES) ,因此,每個使用者都只能登入自己的資料夾,此時,若要建立起的一個共用資料夾供所有使用者皆可讀寫,那麼就可以採用本方案。
註:本方案,會把所輸入的「共用資料夾」建在 /home/ftp 底下


  • 若要使下次開機也能自動掛載,可修改 rc.local 在 exit 0 之上,加上 「pubfolder.sh -m 共用資料夾名稱」,舉例如下:
......

pubfolder.sh -m 共用區

# 切勿刪除(若本來就有下面這一行了,不要再加了)
exit 0




rsync_s.pyw

  • 功能:建立 rsync server 快速產生器
  • 參考文件: http://myip.tw/itsmw/index.php?title=RSync
  • 程式: yhtools/rsync/rsync_s.pyw
  • 說明:
    • 請先手動修改 /etc/default/rsync 裡面的 ENABLE 為 true
    • 再執行本工具
    • 它將會產生 /etc/rsyncd.conf 及 /etc/rsyncd.secrets 設定檔
    • 執行完本工具,仍得手動啟動 service rsync start




rsync_c.pyw

  • 功能: 建立 rsync client 快速產生器
  • 參考文件: http://myip.tw/itsmw/index.php?title=RSync
  • 程式: yhtools/rsync/rysnc_c.pyw
  • 說明:
    • 它會產生 /root/rsncbk.sh 及 /root/rsyncd.secrets 設定檔
    • 它會為 root 加定時排程,請以 root 身份 crontab -e 修改成自已偏好的備份時間




本文小檔案

__NORICHEDITOR__

題名: Title::YHTools
作者: Creator::itsmw作者群
主題/關鍵詞: Subject::yhtools, 伺服器設定工具
簡述: Description::大量建帳號及協助設定 DNS, vsftpd 共用資料夾,rSync, DHCP, Firewall 的工具集
出版者: Publisher::MyIP itsmw 計畫
其他參與者: Contributor::itsmw作者群
日期: Date::2011-5-6
文件類型: Type::08伺服器軟體
Type::09資訊安全
資料格式: Format::text/html
文件識別代號: Identifier::http://myip.tw/itsmw/index.php?title=YHTools
來源: Source::http://myip.tw/itsmw/
語言: Language::zh-TW
相關資源: Relation::http://myip.tw/
文件涵蓋範圍: Coverage::Linux平台
版權規範: Rights::GNU Free Documentation License 1.2