網路開展事業或在網路創業賺錢的第一步:【架設24小時賺錢網站主機】比網頁設計更優先!

感謝您造訪 Linux主機伺服器架設技術基地。 你可進入替你架設主機.影片教你維護頁面,詳細瞭解Linux主機架設及相關技術維護影片教學(完整配套措施),有主機馬上可以架設網站營運,完全無限制!

租用不如自有主機!聰明的網站經營者都選擇架設Linux主機伺服器做為網站運作平台,因功能完整又強大,免費架站程式超多!完全沒有版權問題,超強『防駭客攻擊與入侵』及安全防護可以讓你無後顧之憂。

                    架設主機.影片教你維護: http://por.tw/linux/new-E_learning/index.php

Linux主機伺服器架設技術基地  維護團隊  敬上
  • 1 
瀏覽模式: 普通 | 列表
解決安裝完 Linux 後修改各伺服器設定檔困擾的好工具:YHTools

YHTools工具集是為解決安裝完 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 改版
          o 新增 yhtools/chmodadv.sh 程式,使 chmod 777|755 時會自動判斷資料夾(777|755)或檔案(666|644)
          o 修改 homechown.sh 為不必先複製到 /home 底下也可以執行
    * 2011-05-11 小改 yhtools/chmodadv.sh 的提示字元
    * 2011-05-12 修改
          o yhtools/fw4nat.pyw 裡面有註解「#」符號之前誤 key 成全形字元
          o yhtools/dhcpconf.pyw 修改成產生 dhcpd.conf 及 isc-dhcp-server 分別準備要放至 /etc/dhcp 及 /etc/default
            這是 debian squeeze 及 ubuntu 11.04 版本,最新的做法,之前使用 ubuntu 10.10 沒注意到,現在修改。

工具使用系統要求

   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



工具下載

    * 下載
          o root@dns:~# wget http://myip.tw/download/yhtools.tar.gz
    * 解壓
          o root@dns:~# tar xzvf yhtools.tar.gz
    * 使用
      執行每個工具前,在輸入程式名稱前一定要加「./」,例:
          o root@dns:~# cd yhtools
          o 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 資料夾名稱
          o 可複製到 /usr/local/bin 以方便執行
            root@dns:~# cp yhtools/chmodadv.sh /usr/local/bin
          o 例一:root@dns:~/下載/xoops-2.5.0# chmodadv.sh 755 htdocs
          o 例二: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
    * 使用方式:
          o 執行本工具
            root@dns:~/yhtools/dhcpconf# ./dhcpconf.pyw
          o 把產出的 dhcp3-server 及 dhcpd.conf 複製到各自的位置


dnsconf.pyw

    * 參考文件:http://myip.tw/itsmw/index.php/DNS
    * dnsconf.pyw 為使用 python3 撰寫之圖形化 dns server 設定檔產生器
          o 網域名稱與 IPv4 位址為必填項目
          o 有 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伺服器」時
          o 只要把執行 ./yhtools/dnsconf.pyw 產生在 ./yhtools/dnsconf/ 底下的設定檔複製到 /etc/bind 底下即可。


fwtc.sh

    * 參考文件: http://myip.tw/itsmw/index.php/Link_Control
    * 程式 yhtools/firewall/fwtc.sh 為在 NAT 或 Bridge Route 防火牆下協助做流量管制的工具。
    * 使用方式:請先直接編輯 fwtc.sh 內的設定值再啟用
          o 啟動: ./firewall/fwtc.sh start
          o 中止: ./firewall/fwtc.sh stop
          o 顯示: ./firewall/fwtc.sh show


fw4local.pyw

    * 參考文件: http://myip.tw/itsmw/index.php/OB2D_Iptables
    * 程式: yhtools/firewall/fw4local.pyw 本機防火牆規則列設定
    * 使用:
          o cd firewall
          o ./fw4local.pyw 填入各參數,點「確定」產生 ./rc.local
          o 按「Escape」離開本工具
          o 檢視內容若沒問題,覆蓋 /etc/rc.local 即可
          o 套用新規則列: service rc.local start


fw4br.pyw

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

    * 程式: yhtools/firewall/fw4br.pyw 透通式防火牆設定工具
    * 說明:
          o 請先確認 /etc/network/interfaces 內容只剩 lo 的設定,詳見 http://myip.tw/itsmw 文件
          o cd ./yhtools/firewall
          o ./fw4br.pyw
          o 同前所述,依您需求填求,並點「確定」產生 rc.local
          o 按「Escape」離開本工具
          o 檢視內容若沒問題,覆蓋 /etc/rc.local 即可
          o 套用新規則列: service rc.local start


fw4nat.pyw

    * 參考文件: http://myip.tw/itsmw/index.php/OB2D_NAT
    * 程式: yhtools/firewall/fw4nat.pyw 建立虛擬 IP 網段設定工具
    * 說明:
          o 請先確認已設妥 eth0 及 eh1 網卡一為公用 IP 一為私有 IP,詳見 http://myip.tw/itsmw 文件
          o cd ./yhtools/firewall
          o ./fw4nat.pyw
          o 同前所述,依您需求填求,並點「確定」產生 rc.local
          o 按「Escape」離開本工具
          o 檢視內容若沒問題,覆蓋 /etc/rc.local 即可
          o 套用新規則列: service rc.local start


homechown.sh

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

    * 程式: yhtools/homechown.sh
    * 參考文件:http://myip.tw/itsmw/index.php/LinuxDataTrans ,文件內第 4.3 節
    * 要求:各家目錄的使用者必須先建立完畢
    * 使用:直接執行 homechown.sh,若沒任何訊息,代表成功執行
          o 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 ;請務必先讀本說明再使用


pubfolder.sh

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

    * 程式: yhtools/pubfolder.sh
    * 參考文件:http://myip.tw/itsmw/index.php/Ob2d_Vsftp
    * 使用方法:
          o 共用時:pufolder.sh -m 共用資料夾名稱
          o 解除共用: pubfolder.sh -u 共用資料夾名稱
          o 下次開機也能自動掛載時,請在 rc.local 的底下, exit 0 之上,加上 「pubfolder.sh -m 共用資料夾名稱」


rsync_s.pyw

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


rsync_c.pyw

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

本文引用來至:http://myip.tw/itsmw/index.php/YHTools

Linux 系統管理篇(環境變量)

Linux 系統管理篇(環境變量)

1. 顯示環境變量HOME
$ echo $HOME
/home/terry
2. 設定一個新的環境變量WELCOME
$ export WELCOME="Hello!"
$ echo $WELCOME
Hello!
3. 使用env指令顯示所有的環境變量
$ env
HOSTNAME=terry.mykms.org
PVM_RSH=/usr/bin/rsh
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
4. 使用set指令顯示所有本地定義的Shell變量
$ set
BASH=/bin/bash
BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")
BASH_VERSION='2.05b.0(1)-release'
COLORS=/etc/DIR_COLORS.xterm
COLUMNS=80
DIRSTACK=()
DISPLAY=:0.0
5. 使用unset指令來清除環境變量
set可以設定某個環境變量的值。清除環境變量的值用unset指令。如果未指定值,則該變量值將被設為NULL。示例如下:
$ export TEST="Test..." #增加一個環境變量TEST
$ env|grep TEST #此指令有輸入,證明環境變量TEST已經存在了
TEST=Test...
$ unset $TEST #刪除環境變量TEST
$ env|grep TEST #此指令沒有輸出,證明環境變量TEST已經存在了
6. 使用readonly指令設定唯讀變量
如果使用了readonly指令的話,變量就不可以被修改或清除了。示例如下:
$ export TEST="Test..." #增加一個環境變量TEST
$ readonly TEST #將環境變量TEST設為唯讀
$ unset TEST #會發現此變量不能被刪除
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New" #會發現此也變量不能被修改
-bash: TEST: readonly variable
7. 用C程式來訪問和設定環境變量
對於C程式的使用者來說,可以使用下列三個函數來設定或訪問一個環境變量。
◆ getenv()訪問一個環境變量。輸入參數是需要訪問的變量名字,返回值是一個字串。如果所訪問的環境變量不存在,則會返回NULL。
◆ setenv()在程式裡面設定某個環境變量的函數。
◆ unsetenv()清除某個特定的環境變量的函數。
另外,還有一個指標變量environ,它指向的是包括所有的環境變量的一個清單。下面的程式可以列印出現用的運行環境裡面的所有環境變量:
#i nclude
extern char**environ;
int main ()
{
char**var;
for (var =environ;*var !=NULL;++var)
printf ("%s ",*var);
return 0;
}


Linux下的環境變量設定
# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
}
# Path manipulation
if [ `id -u` = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
fi
pathmunge /usr/X11R6/bin after
unset pathmunge
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
USER="`id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
INPUTRC=/etc/inputrc
fi
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
. $i
fi
done
unset i
JAVA_HOME="/opt/j2sdk1.4.2_01"
MYSQL_HOME="/var/mysql"
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$PATH:$JAVA_HOME/bin:$MYSQL_HOME/bin:/opt/apache-ant-1.5.4/bin
export JAVA_HOME CLASSPATH PATH
CVSROOT=/cvsroot;
export CVSROOT
LINUX系統環境變量
/etc/profile對整個系統有效.
確定你使用的是bash
修改~/.bash_profile
把你要設定的環境變量寫進去
例如
JAVA_HOME=/usr/local/jdk
export JAVA_HOME

vi 指令大全(Linux主機)

vi 指令大全(Linux主機)

Vi指令大全
進入vi的指令
vi filename: 開啟或新增檔案,並將游標置於第一行首
vi +n filename: 開啟檔案,並將游標置於第n行首
vi + filename: 開啟檔案,並將游標置於最後一行首
vi +/pattern filename: 開啟檔案,並將游標置於第一個與pattern符合的串處
vi -r filename: 在上次正用vi編輯時發生系統崩潰,還原filename
vi filename....filename: 開啟多個檔案,依次進行編輯
搬移游標類指令
h: 游標左移一個字元
l: 游標右移一個字元
space: 游標右移一個字元
Backspace: 游標左移一個字元
k或Ctrl+p: 游標上移一行
j或Ctrl+n: 游標下移一行
Enter: 游標下移一行
w或W : 游標右移一個字至字首
b或B : 游標左移一個字至字首
e或E : 游標右移一個字至字尾
): 游標移至句尾
(: 游標移至句首
}: 游標移至段落開頭
{: 游標移至段落結尾
nG: 游標移至第n行首
n+: 游標下移n行
n-: 游標上移n行
n$: 游標移至第n行尾
H: 游標移至螢幕頂行
M: 游標移至螢幕中間行
L: 游標移至螢幕最後行
0: 游標移至現用的行首
$: 游標移至現用的行尾
螢幕翻滾類指令
Ctrl+u: 向檔案首翻半屏
Ctrl+d: 向檔案尾翻半屏
Ctrl+f: 向檔案尾翻一屏
Ctrl+b: 向檔案首翻一屏
nz: 將第n行滾至螢幕頂部,不指定n時將現用的行滾至螢幕頂部。
插入文字類指令
i: 在游標前
I: 在現用的行首
a: 游標後
A: 在現用的行尾
o: 在現用的行之下新開一行
O: 在現用的行之上新開一行
r: 取代現用的字元
R: 取代現用的字元及其後的字元,直至按ESC鍵
s: 從現用的游標位置處開始,以輸入的文字替代指定數目的字元
S: 刪除指定數目的行,並以所輸入文字代替之
ncw或nCW: 修改指定數目的字
nCC: 修改指定數目的行
[
編輯
]
刪除指令
ndw或ndW: 刪除游標處開始及其後的n-1個字
do: 刪至行首
d$: 刪至行尾
ndd: 刪除現用的行及其後n-1行
x或X: 刪除一個字元,x刪除游標後的,而X刪除游標前的
Ctrl+u: 刪除輸入模式下所輸入的文字
搜尋及取代指令/pattern: 從游標開始處向檔案尾搜尋pattern
?pattern: 從游標開始處向檔案首搜尋pattern
n: 在同一方向重複上一次搜尋指令
N: 在反方向上重複上一次搜尋指令
:s/p1/p2/g: 將現用的行中所有p1均用p2替代
:n1,n2s/p1/p2/g: 將第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g: 將檔案中所有p1均用p2取代
[
編輯
]
選項設定
all: 列出所有選項設定情況
term: 設定終端類型
ignorance: 在搜尋中忽略大小寫
list: 顯示定位點(Ctrl+I)和行尾標誌($)
number: 顯示行號
report: 顯示由面向行的指令修改過的數目
terse: 顯示簡短的警示訊息
warn: 在轉到別的檔案時若沒儲存現用的檔案則顯示NO write訊息
nomagic: 容許在搜尋模式中,使用前面不帶「」的特殊字元
nowrapscan: 禁止vi在搜尋到達檔案兩端時,又從另一端開始
mesg: 容許vi顯示其他使用者用write寫到自己終端上的訊息
最後行模式指令:n1,n2 co n3: 將n1行到n2行之間的內容複製到第n3行下
:n1,n2 m n3:將n1行到n2行之間的內容移至到第n3行下
:n1,n2 d: 將 n1行到n2行之間的內容刪除
:w: 儲存現用的檔案
:e filename: 開啟檔案filename進行編輯
:x: 儲存現用的檔案並離開
:q: 離開vi
:q!: 不儲存檔案並離開vi
:!command: 執行shell指令command
:n1,n2 w!command: 將檔案中n1行至n2行的內容作為command的輸入並執行之,
若不指定n1,n2,則表示將整個檔案內容作為command的輸入
:r!command: 將指令command的輸出結果放到現用的行
暫存器操作
"?nyy: 將現用的行及其下n行的內容儲存到暫存器?中,其中?為一個字母,n為一個數字
"?nyw: 將現用的行及其下n個字儲存到暫存器?中,其中?為一個字母,n為一個數字
"?nyl: 將現用的行及其下n個字元儲存到暫存器?中,其中?為一個字母,n為一個數字
"?p: 取出暫存器?中的內容並將其放到游標位置處。這裡?可以是一個字母,也可以是一個數字
ndd: 將現用的行及其下共n行文字刪除,並將所刪內容放到1號刪除暫存器中
  • 1 
本Linux主機伺服器架設基地立志於收集各類Linux主機伺服器架設、網站架設及網頁設計技術教學資訊,便於本人和廣大網友及網友查詢檢索,無論公司或個人認為本站存在侵權內容均可與本站聯繫,任何此類反饋資訊一經查明屬實後,將立即移除!