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

Linux 判斷 CC 攻擊指令詳解

檢視所有80連接埠的連線數

    netstat -nat|grep -i "80"|wc -l

對連線的IP按連線數量進行排序

    netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n



檢視TCP連線狀態

    netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
    netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}'
    netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key," ",state[key]}'
    netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k," ",arr[k]}'
    netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
    netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c

檢視80連接埠連線數最多的20個IP

    netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
    netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A,i}' |sort -rn|head -n20

用tcpdump嗅探80連接埠的訪問看看誰最高

    tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20

尋找較多time_wait連線

    netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20

尋找較多的SYN連線

    netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

10個最實用的Linux指令

收集了一些對於Linux新手最基本但最有用的Linux指令。你完全可以鍵入這些指令來管理你的伺服器。這些指令對於學習vps或伺服器管理的新手最為簡便。

1、List指令

    ls -a
    //列出所有檔案

    ls -l
    // 列出所有檔案內含隱藏的檔案,像.htaccess

    ls -l | more
    // 分頁顯示檔案清單

2、解壓tar.gz檔案
這個指令非常的重要,會被經常用到解壓檔案。

    tar -xzf filename.tar.gz

如何匯出/匯入 tar.gz檔案在MySQL資料庫
我們只需要一條指令就可以恢復/匯入大的gzip資料庫到mysql。這條指令對於匯入非常大的資料庫非常有用。

    gunzip < dbname.gz | mysql -u Username -p dbname

3、安裝程式包
在Linux系統中安裝軟體你最需要知道的最基本的指令。

    yum install
    // for centos and redhat
    apt-get install
    // for debian/ubuntu

4、檢視記憶體情況

    top
    //顯示記憶體,cpu,負載和其它程式的運行情況
    free
    //顯示Linux記憶體使用量

5、檢視磁碟使用情況

    df -h
    //顯示磁碟使用量和輸出磁碟余量

6、檢視正在運行的程式

    ps aux
    //顯示運行中的程式和它的ID,你可以根據ID來結束程式。

7、刪除資料夾內的所有檔案
這條應該是刪除子檔案和子資料夾最常用的指令。

    rm -Rf /my/path
    //會不提示就刪除所有檔案,請謹慎操作。

8、輕鬆編輯檔案
nano指令可以非常容易的編輯一個檔案,你可以通過nano編輯器非常的容易尋找指定字元。

    nano /file/path
    //文字編輯器

9、變更權限及所有權

    chmod -R 755 /folder/path
    //遞歸變更所有檔案和資料夾
    chown pbu /file/name
    //變更檔案所有權
    chgrp mygrp /file/name
    //變更到新的所有組

10.檢視開放的連接埠

    netstat -nap –tcp
    //列出連線和開放的連接埠

Linux終端快捷鍵



在 Linux 指令行中有許多快捷鍵,例如 Ctrl+l 可以清屏,Ctrl+C 可以中斷指令,Ctrl+Z 可以暫停指令等等,掌握這些快捷鍵之後,會發現在 Linux 下使用指令行變得更方便、更簡單了 😀
↑ 或 Ctrl+p 顯示上一筆指令
↓ 或 Ctrl+n 顯示下一筆指令
→ 或 Ctrl+f 游標向右搬移一個字元
← 或 Ctrl+b 游標向左搬移一個字元
Alt+f 游標向右搬移一個單詞
Alt+b 游標向左搬移一個單詞
Ctrl+r 逆向搜尋包括輸入字串的指令,繼續按 Ctrl+r,再向上搜尋,可使用 Ctrl+c 中斷指令
Ctrl+s 正向搜尋包括輸入字型串的指令,用法與 Ctrl+r 相同
Ctrl+a 游標搬移到開頭
Ctrl+e 游標搬移到結尾
Ctrl+l 清屏
Ctrl+u 剪下游標所在處之前的所有字元 (不內含自身)
Ctrl+k 剪下游標所在處之後的所有字元 (內含自身)
Ctrl+w 剪下游標所在處之前的一個詞 (以空格、標點等為分隔設定)
Ctrl+y 貼上
Alt+u 將游標所在處的單詞轉為大寫 (從游標處到詞的結尾)
Alt+l 將游標所在處的單詞轉為小寫 (從游標處到詞的結尾)
Alt+c 將游標所在處的單詞轉為首字母大寫 (從游標處到詞的結尾)
Ctrl+c 中斷指令
Ctrl+s 掛起現用的 shell
Ctrl+q 重新啟用掛起的 shell
Ctrl+z 暫停指令 (ls | less:檢視暫停的程式ID;恢復程式:fg %任務ID。)

網站發生警語:atal error: Allowed memory size of 16777216 bytes exhausted(記憶體不夠用)之處理方法

網站架站或網站升級後,網站發生類似警語:atal error: Allowed memory size of XXXXXXXX bytes exhausted
不管是管理介面(Dashboard),或者登入出問題,看來幾乎都是記憶體不夠用。

例如其發生的警語:
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 4023 bytes)

這是什麼意思呢?又該如何解決?
答案是:記憶體的需求是更大了,這邊提供幾個解決的方法。

當出現以下的類似情況,要來調整PHP的記憶體,來執行更多的程式
1.找到php.ini的路徑(/etc/php5/apache2/php.ini)
2.搜尋:memory_limit 字串
3.找到:memory_limit = 16M      ; Maximum amount of memory a script may consume (16MB)

A.如果有權限修改php.ini,那麼請將memory_limit = 32M的32提高,看是要64還是96或者128。
    
B.如果沒有權限修改php.ini,可以在.htaccess裡面加上php_value memory_limit 32M,或者更高的數字。

備註:php.ini修改後apache要重新啟動才會生效!

語法如下:
service apache2 restart

————————————————————-

centos代理環境下修改163源

由於採用代理模式上網,在使用vmware安裝的centos6.3進行yum安裝等操作的時候常常出問題,而預設的源也常常無法連線
本文就是我在解決代理上網和修改163源實際操作的一個總結。


      
YUM代理設定
 
編輯/etc/yum.conf,在最後加入
# Proxy
proxy=http://username:password@proxy_ip:port/
 
也可以使用proxy_username和proxy_password來配置代理的使用者名和密碼
 
這樣的配置完成後,所有的使用者在使用yum時,都會使用代理,可以說是全局代理。
 
如果需要為單獨的使用者配置代理,可以在使用者的~/.bash_profile中設定。
 
Wget的代理設定
 
編輯/etc/wgetrc,在最後加入
# Proxy
http_proxy=http://username:password@proxy_ip:port/
ftp_proxy=http://username:password@proxy_ip:port/
 
系統全局代理
 
如果需要為某個使用者設定一個系統級的代理,可以在~/.bash_profile中設定:
 
http_proxy="http://username:password@proxy_ip:port"
export_http_proxy
 
上面的設定只對某個使用者生效,如果要對所有系統使用者生效,寫在/etc/profile中就可以了。
CentOS yum變更163源

    cd /etc/yum.repos.d/
    wget http://mirrors.163.com/.help/CentOS-Base-163.repo
    mv CentOS-Base.repo CentOS-Base.repo.bak
    mv CentOS-Base-163.repo CentOS-Base.repo

然後運行yum makecache生成快取。

一切標準了。

網站被標示【已知有害的網站】 該如何解決?

之前我有寫一篇文章:購物網站oScommerse、Twe-Commerce、Zen Cart、xt:Commerce、ecshop被駭客植入木馬(釣魚網頁)處理秘技
http://por.tw/sa?p=234

那如果網站被Google搜尋後標示【已知有害的網站】 該如何解決?

網站被標示【已知有害的網站】處理解決方法:
1.至後台備份資料庫
2.備份系統安全設定檔
3.刪除所有網頁
4.將本地端備份之檔案上傳
5.至後台修改登入的帳號與密碼
6.確認網站各連結頁面是否開啟正常?

7.要求審查您的網站是否含有惡意軟體

先註冊登入Google的「網站管理員工具」首頁
http://www.google.com/webmasters/tools/
建立你的網站為:被診斷的網站
然後,請您在「網站管理員工具」首頁上,選取想要審查的網站。
按一下 [診斷],然後再點選 [惡意軟體]
按一下 [要求審查]

————————————-
以下是 Google 的診斷頁面訊息(案例)
————————————-

安全瀏覽
【你的網址】 的診斷網頁

【你的網址】 目前的安全性狀態為何?

此網站已列為可疑網站,瀏覽該網站可能會損害您的電腦。

在過去 90 天內,此網站的部分內容曾 1 度被列入從事可疑活動的網站名單。

Google 造訪此網站時有什麼發現?

我們在過去 90 天內測試了這個網站上的 2 個網頁,當中有 2 個網頁會擅自將惡意軟體下載及安裝至使用者的電腦。
Google 上次造訪這個網站的日期是 2019-03-30,而上次在該網站發現可疑內容的日期則是 2019-03-30。

2 個網域中存有惡意軟體,包括:235hjgh3423.cz.cc/, eponim.mk/。

惡意軟體已透過 1 個網域向這個網站的訪客散佈,這些網域包括:eponim.mk/。

這個網站是由 AS17809 (MONAD) 在內的 1 個聯播網代管。

這個網站是否曾經成為進一步散佈惡意軟體的媒介?

在過去 90 天內,沒有跡象顯示 【你的網址】 為散佈任何網站病毒的媒介。

此網站是否曾存有惡意軟體?

否,這個網站在過去 90 天內並未存有惡意軟體。

為什麼會發生這個問題?

在某些情況下,Google 也可能會在部分合法網站的搜尋結果中顯示警告訊息,因為這類網站可能遭到第三方植入惡意程式碼。

後續步驟:

返回上一頁。
如果您是這個網站的擁有者,可以利用 Google 網站管理員工具為網站申請審核;如要進一步瞭解審核程序,請參閱 Google 網站管理員說明中心。

上次更新時間:3 小時前

————————————-
在您確定網站上沒有任何遭受感染的程式碼和內容之後,即可要求 Google 審查您的網站是否含有惡意軟體。
————————————-

惡意軟體審查是針對先前曾經遭受惡意軟體感染的網站所設計的。如果您的網站未曾遭人檢舉為含有惡意軟體,但卻被排除在 Google 的索引範圍之外,或是排名不如以往 (也許是因為違反了《網站管理員指南》),您應該提出的是重新審查要求。如果您的網站搜尋結果出現「這個網站可能已遭到入侵」的警告訊息,您也可以填寫表單,要求重新審查您的網站。無論是哪一種情況,在提出要求之前,請務必先行確認您的網站目前確實符合《網站管理員指南》的規定。不過,如果您的網站遭檢舉含有惡意軟體,僅提出重新審查要求是不夠的,您必須按照這個頁面所說明的程序來要求進行惡意軟體審查。

請您在「網站管理員工具」首頁上,選取想要審查的網站。
按一下 [診斷],然後再點選 [惡意軟體]。
按一下 [要求審查]。

我們的系統會自動掃描您的網站,如果沒有發現惡意軟體,我們將移除您的網站警告。
這可能需要一天以上的時間;您可以在「網站管理員工具」中,[診斷] 下的 [惡意軟體] 頁面上,查看您的要求狀態。

如果您已清除網站上的惡意內容,但過幾天之後警告仍然存在,則可能是您尚未發現和移除所有網站上的問題內容
(我們的掃描程式遠比手動審查來的精確,可發現您所疏忽的程式碼)。
請查詢「網站管理員工具」,以便瞭解哪些網址可能有問題,不過系統並不會列出所有的問題網址。

在您的網站搜尋結果遭檢舉後,有時「網站管理員工具」可能需要一天的時間才會顯示惡意軟體警告 (以及惡意軟體審查要求表單的連結),不過這種情況較為罕見。
如果「網站管理員工具」並未顯示警告,但您的網站已遭檢舉,請於稍後再確認一次。

debian 下的/etc/ssh/sshd_config的含義

The /etc/ssh/sshd_config file is the system-wide configuration file for OpenSSH which allows you to set options that modify the operation of the daemon. This file contains keyword-value pairs, one per line, with keywords being case insensitive. Here are the most important keywords to configure your sshd for top security; a complete listing and/or special requirements are available in the man page for sshd(8).

Edit the sshd_config file, vi /etc/ssh/sshd_config and add/or change, if necessary, the following parameters:

          # This is ssh server systemwide configuration file.

          Port 22
          ListenAddress 192.168.1.1
          HostKey /etc/ssh/ssh_host_key
          ServerKeyBits 1024
          LoginGraceTime 600
          KeyRegenerationInterval 3600
          PermitRootLogin no
          IgnoreRhosts yes
          IgnoreUserKnownHosts yes
          StrictModes yes
          X11Forwarding no
          PrintMotd yes
          SyslogFacility AUTH
          LogLevel INFO
          RhostsAuthentication no
          RhostsRSAAuthentication no
          RSAAuthentication yes
          PasswordAuthentication yes
          PermitEmptyPasswords no
          AllowUsers admin
          

This tells sshd_config file to set itself up for this particular configuration setup with:

Port 22

    The option Port specifies on which port number ssh daemon listens for incoming connections. The default port is 22.
ListenAddress 192.168.1.1

    The option ListenAddress specifies the IP address of the interface network on which the ssh daemon server socket is bind. The default is 0.0.0.0; to improve security you may specify only the required ones to limit possible addresses.
HostKey /etc/ssh/ssh_host_key

    The option HostKey specifies the location containing the private host key.
ServerKeyBits 1024

    The option ServerKeyBits specifies how many bits to use in the server key. These bits are used when the daemon starts to generate its RSA key.
LoginGraceTime 600

    The option LoginGraceTime specifies how long in seconds after a connection request the server will wait before disconnecting if the user has not successfully logged in.
KeyRegenerationInterval 3600

    The option KeyRegenerationInterval specifies how long in seconds the server should wait before automatically regenerated its key. This is a security feature to prevent decrypting captured sessions.
PermitRootLogin no

    The option PermitRootLogin specifies whether root can log in using ssh. Never say yes to this option.
IgnoreRhosts yes

    The option IgnoreRhosts specifies whether rhosts or shosts files should not be used in authentication. For security reasons it is recommended to no use rhosts or shosts files for authentication.
IgnoreUserKnownHosts yes

    The option IgnoreUserKnownHosts specifies whether the ssh daemon should ignore the user''s $HOME/.ssh/known_hosts during RhostsRSAAuthentication.
StrictModes yes

    The option StrictModes specifies whether ssh should check user''s permissions in their home directory and rhosts files before accepting login. This option must always be set to yes because sometimes users may accidentally leave their directory or files world-writable.
X11Forwarding no

    The option X11Forwarding specifies whether X11 forwarding should be enabled or not on this server. Since we setup a server without GUI installed on it, we can safely turn this option off.
PrintMotd yes

    The option PrintMotd specifies whether the ssh daemon should print the contents of the /etc/motd file when a user logs in interactively. The /etc/motd file is also known as the message of the day.
SyslogFacility AUTH

    The option SyslogFacility specifies the facility code used when logging messages from sshd. The facility specifies the subsystem that produced the message–in our case, AUTH.
LogLevel INFO

    The option LogLevel specifies the level that is used when logging messages from sshd. INFO is a good choice. See the man page for sshd for more information on other possibilities.
RhostsAuthentication no

    The option RhostsAuthentication specifies whether sshd can try to use rhosts based authentication. Because rhosts authentication is insecure you shouldn''t use this option.
RhostsRSAAuthentication no

    The option RhostsRSAAuthentication specifies whether to try rhosts authentication in concert with RSA host authentication.
RSAAuthentication yes

    The option RSAAuthentication specifies whether to try RSA authentication. This option must be set to yes for better security in your sessions. RSA use public and private key pairs created with the ssh-keygen1utility for authentication purposes.
PasswordAuthentication yes

    The option PasswordAuthentication specifies whether we should use password-based authentication. For strong security, this option must always be set to yes.
PermitEmptyPasswords no

    The option PermitEmptyPasswords specifies whether the server allows logging in to accounts with a null password. If you intend to use the scp utility to make automatic backups over the network, you must set this option to yes.
AllowUsers admin

    The option AllowUsers specifies and controls which users can access ssh services. Multiple users can be specified, separated by spaces.

CentOS 5.5 系統安全配置

    1、註釋掉不需要的使用者和使用者組
    2、給下面的檔案加上不可變更屬性,從而防止非授權使用者獲得權限
    3、修改/etc/inittab檔案,將」ca::ctrlaltdel:/sbin/shutdown-t3-rnow」一行註釋掉。
    4、限制su指令
    5、防止攻擊
    6、限制不同檔案的權限

1、註釋掉不需要的使用者和使用者組

    vi /etc/passwd

    #adm
    #lp
    #sync
    #shutdown
    #halt
    #news
    #uucp
    #operator
    #games
    #gopher
    #ftp

    vi /etc/group

    #adm
    #lp
    #news
    #uucp
    #games
    #dip

2、給下面的檔案加上不可變更屬性,從而防止非授權使用者獲得權限

    #chattr +i /etc/passwd
    #chattr +i /etc/shadow
    #chattr +i /etc/group
    #chattr +i /etc/gshadow

權限修改之後,就無法加入刪除使用者了。要取消之前的修改,

    #lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow

lsattr 只是顯示檔案的屬性

    #chattr -i /etc/passwd
    #chattr -i /etc/shadow
    #chattr -i /etc/group
    #chattr -i /etc/gshadow

再次檢視
lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow
————- /etc/passwd
————- /etc/shadow
————- /etc/group
————- /etc/gshadow
修改完之後,再執行

    chattr +i /etc/passwd
    chattr +i/etc/shadow
    chattr +i /etc/group
    chattr +i/etc/gshadow

禁止Ctrl+Alt+Delete重新啟動機器指令
3、修改/etc/inittab檔案,將」ca::ctrlaltdel:/sbin/shutdown-t3-rnow」一行註釋掉。

然後重新設定/etc/rc.d/init.d/目錄下所有檔案的許可權限,運行如下指令:

    # chmod -R 700 /etc/rc.d/init.d/*

這樣便僅有root可以讀、寫或執行上述所有腳本檔案。
4、限制su指令

當不想任何人能夠su作為root,可以編輯/etc/pam.d/su檔案,增加如下兩行:

    auth sufficient /lib/security/pam_rootok.sodebug
    auth required /lib/security/pam_wheel.sogroup=isd

這時,僅isd組的使用者可以su作為root。此後,如果希望使用者admin能夠su作為root,可以運行如下指令:

    #usermod -G 10 admin

5、防止攻擊

1)阻止ping, 抵禦SYN:
如果沒人能ping通系統,安全性自然增加了,為此,我們可以在/etc/rc.d/rc.local檔案中增加如下一行

    echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all

SYN攻擊是利用TCP/IP協定3次握手的原理,傳送大量的建立連線的網路包,但不實際建立連線,最終導致被攻擊伺服器的網路佇列被佔滿,無法被標準使用者訪問。
Linux內核提供了若干SYN關聯的配置,用指令:

    sysctl -a | grep syn

看到:
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_syn_retries = 5
tcp_max_syn_backlog是SYN佇列的長度,tcp_syncookies是一個開關,是否開啟SYN Cookie功能,該功能可以防止部分SYN攻擊。tcp_synack_retries和tcp_syn_retries定義SYN的重試次數。
加大SYN佇列長度可以容納更多等待連線的網路連線數,開啟SYN Cookie功能可以阻止部分SYN攻擊,降低重試次數也有一定效果。
調整上述設定的方法是:
vi /etc/rc.d/rc.local ,將下面的指令法加入進去

    sysctl -w net.ipv4.tcp_max_syn_backlog=2048 #增加SYN佇列長度到2048
    sysctl -w net.ipv4.tcp_syncookies=1 #開啟SYN COOKIE功能
    sysctl -w net.ipv4.tcp_synack_retries=3 #降低重試次數
    sysctl -w net.ipv4.tcp_syn_retries=3

2)防止IP欺騙
編輯host.conf檔案並增加如下幾行來防止IP欺騙攻擊。

    order hosts,bind #名稱解釋順序
    multi on #容許主機擁有多個IP位址
    nospoof on #禁止IP位址欺騙

3)防止DoS攻擊
對系統所有的使用者設定資源限制可以防止DoS類型攻擊,如最大程式數和記憶體使用數量等。
例如,可以在/etc/security/limits.conf中加入如下幾行:

    * hard core 0
    * hard rss 5000
    * hard nproc 20

然後必須編輯/etc/pam.d/login檔案檢查下面一行是否存在。
session required /lib/security/pam_limits.so
4)修改sshd_config檔案
首先修改配置檔 vi /etc/ssh/sshd_config
a 修改SSH連接埠
找到#Port 22一段,這裡是標識預設使用22連接埠,修改為如下:

    Port 22
    Port 50000

然後儲存離開
執行/etc/init.d/sshd restart
這樣SSH連接埠將同時工作與22和50000上。
現在編輯防火牆配置:vi /etc/sysconfig/iptables
啟用50000連接埠。
執行/etc/init.d/iptables restart
現在請使用ssh工具連線50000連接埠,來測試是否完成。
如果連線完成了,則再次編輯sshd_config的設定,將裡邊的Port22刪除,即可。
b 只使用SSH v2
將#Protocol 2,1改為 Protocol 2
c 限制使用者的SSH訪問
假設我們只要root,vivek和jerry使用者能通過SSH使用系統,向sshd_config配置檔中加入:

    AllowUsers root vivek jerry

d 配置閒置逾時離開時間間隔
使用者可以通過ssh登入到伺服器,你可以設定一個閒置逾時時間間隔避免出現孤兒ssh會話,開啟sshd_config配置檔,確保有如下的配置項:

    ClientAliveInterval 300
    ClientAliveCountMax 0

上面的例子設定的閒置逾時時間間隔是300秒,即5分鐘,過了這個時間後,閒置使用者將被自動踢出出去(可以理解為離開登入/註銷)。
e 禁用.rhosts檔案
不要讀取使用者的~/.rhosts和~/.shosts檔案,使用下面的設定更新sshd_config配置檔:
IgnoreRhosts yes
SSH可以模擬過時的rsh指令的行為,rsh被公認為是不安全的遠端訪問協定,因此必須得禁用掉。
6、限制不同檔案的權限

    [root@localhost ~]# chmod 700 /usr/bin/
    [root@localhost ~]# chmod 750 /usr/bin/*++*
    [root@localhost ~]# chmod 750 /usr/bin/c++*
    [root@localhost ~]# chmod 750 /usr/bin/ld
    [root@localhost ~]# chmod 750 /usr/bin/as
    [root@localhost ~]# locate sqlaccess
    /opt/lampp/bin/mysqlaccess
    [root@localhost ~]# chmod 755 /opt/lampp/bin/mysqlaccess
    [root@localhost ~]# chattr +a .bash_history
    [root@localhost ~]# chattr +i .bash_history
    [root@localhost ~]# chmod 700 /bin/ping
    [root@localhost ~]# chmod 700 /usr/bin/finger
    [root@localhost ~]# chmod 700 /usr/bin/who
    [root@localhost ~]# chmod 700 /usr/bin/w
    [root@localhost ~]# chmod 700 /usr/bin/locate
    [root@localhost ~]# chmod 700 /usr/bin/whereis
    [root@localhost ~]# chmod 700 /usr/bin/vim
    [root@localhost ~]# chmod 700 /usr/bin/make
    [root@localhost ~]# chmod 700 /bin/netstat
    [root@localhost ~]# chmod 700 /usr/bin/tail
    [root@localhost ~]# chmod 700 /usr/bin/less
    [root@localhost ~]# chmod 700 /usr/bin/head
    [root@localhost ~]# chmod 700 /bin/cat
    [root@localhost ~]# chmod 700 /bin/uname
    [root@localhost ~]# chmod 500 /bin/ps
    [root@localhost ~]# chmod 500 /usr/sbin/lsof

【技術回覆】Wrong permissions on configuration file, should not be world writable! 解決之方法

學員來信問道:
想在網站主機下,多增加 phpmyadmin 版本(解決資料庫管理,發生亂碼的問題)時

在網頁形式下(phpmyadmin)瀏覽資料庫時,有時候會出現錯誤:
例如:http://網址或IP/
phpmyadmin

出現:Wrong permissions on configuration file, should not be world writable! 警語
請問總教頭該如何處理?

 

總教頭回覆:
其實這個錯誤是mysql數據庫的權限設置成了777所造成的,解決辦法就是把數據庫的根目錄權限重新設置成755即可。
請使用FTP或WinSCP連線至你的主機
例如:資料庫管理 phpMyAdmin 的存放目錄是:/var/www/phpmyadmin
那就點選phpmyadmin按右鍵,把屬性改成775按確定即可!
如果使用終端機,則可以進行如下的操作:
sudo chmod -R 755 /var/www/
phpmyadmin ,這樣重新設置後就可以了。

如果您是自己DIY架設好Linux 主機
在使用pietty連 Linux 主機時,中文部分是亂碼?那應該如何解決呢?

請先檢查系統的語言設定:

#vim /etc/sysconfig/i18n

內容應為:

LANG="zh_TW.UTF-8"

pietty

→ 選項 → 字元編碼→Unicode

—————————————-
兩個地方的設定要一樣

設好之後,利用df指令測試一下:

#df -h
—————————————–
如果成功的話,應該會看到一些中文字:

檔案系統、容量、已用、可用…

—————————————–
完成!是不是很簡單呢?

漫長的等待與自己暗地摸索,不如專家一語道破,問題馬上可以迎刃而解!
想一想,您的網路顧問專家在那裡?

Linux rpm指令詳細介紹

1.安裝軟體包
2.升級軟體包
3.刪除軟體包
4.查詢軟體包
5.檢查已安裝軟體包
6.重建rpm資料庫
7.從rpm提取檔案

雖然現在N多人都使用yum去替代rpm了,但是rpm在一些特俗場合下還是有其作用的,比如查詢跟驗證已安裝的rpm包,rpm全稱Redhat Package Manager,是一種用於包的打包及安裝工具,它包括在某些Linux分發版中,它生成具有.RPM副檔案名的檔案,與Dpkg類似。
1.安裝軟體包

rpm -ivh ***.rpm 其中i表示安裝,v表示輸出,h表示用#作進度旗標

2.升級軟體包

rpm -Uhv ***.rpm

3.刪除軟體包

rpm -e package_name
rpm -e –nodeps package_name 不考慮依賴包
rpm -e –allmatches package_name 刪除所有跟package_name符合的所有版本的包

4.查詢軟體包

rpm -q package_name
rpm -qp ***.rpm 取得現用的目錄下的rpm包關聯訊息
rpm -qa | less 列出所有已安裝的軟體包
rpm -qf /etc/sysctl.conf 檢視某個檔案屬於哪個軟體包
rpm -qi package_name 列出已安裝的這個包的標準詳細訊息
rpm -qlp package_name 列出rpm包的檔案內容
rpm -q –scripts kernel | less 列出已安裝rpm包自帶的安裝前和安裝後腳本
rpm -qa –queryformat 『Package %{NAME} was build on %{BUILDHOST}
』 | less queryformat強大的查詢
rpm –querytags | less 可以列出queryformat可以使用的所有變量從而組合成更強大的查詢

5.檢查已安裝軟體包

rpm -Va | grep bin

檢查失敗的字元:
S:檔案大小不符,M:模式不符,5:MD5校驗和不符,U:使用者所有權不符,G:使用者組所有權不符,T:mTime不符

6.重建rpm資料庫

rm /var/lib/rpm/__db.00*
rpm –rebuilddb 在rpm資料庫已破壞且不能安裝軟體包的時候使用此大發

7.從rpm提取檔案

rpm2cpio ***.rpm | cpio -idv /路徑/檔名

 

實現RedHat非標準關機的自動磁碟修復

先登入到伺服器,然後在/etc/sysconfig裡增加一個檔案autofsck,
內容如下: AUTOFSCK_DEF_CHECK=yes PROMPT=yes ++改變檔案或目錄之最後修改時間(變為現用的時間)
執行格式:touch name ( name 可為檔案或目錄名稱。) ++如何設定login後歡迎訊息 修改/etc/motd,往裡面寫入文字即可。
 ++如何設定login前歡迎介面 修改/etc/issue或是issue.net,往裡面寫入文字。
issue的內容是出現在本機登入的使用者介面上,而issue.net則是在使用者通過網路telnet的時候出現。
++如何修改網路卡MAC位址 首先必須關閉網路卡裝置,否則會報告系統忙,無法變更。
指令是: /sbin/ifconfig eth0 down 修改 MAC 位址,這一步較 Windows 中的修改要簡單。
指令是:/sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE 重新啟用網路卡 /sbin/ifconfig eht0 up 網路卡的 MAC 位址變更就完成了

++建立別名/刪除別名 alias cp='cp -i' unalias cp ++如何知道某個指令使用了什麼庫檔案
例如要知道ls使用了什麼庫檔案,可以使用: $ ldd /bin/ls ++如何使一個使用者程式在使用者離開系統後仍然運行
使用nohup command &,比如:nohup wget -cftp://test.com/test.iso #這樣即使使用者離開系統,wget程式仍然繼續運行直到test.iso下載完成為止
++如何限制使用者的最小密碼長度 修改/etc/login.defs裡面的PASS_MIN_LEN的值。
比如限制使用者最小密碼長度是8: PASS_MIN_LEN 8 ++如何取消root指令歷史記錄以增加安全性
為了設定系統不記錄每個人執行過的指令,就在/etc/profile裡設定: HISTFILESIZE=0 HISTSIZE=0
或是: ln -s /dev/null ~/.bash_history ++如何測試硬碟效能 使用hdparm -t -T /dev/hdX就可以測試硬碟的buffer-cache reads和buffered disk reads兩個資料,可以用來當作硬碟效能的參考。
同時使用hdparm -c3 /dev/hdaX還能設定硬碟以32bit傳輸,以加快資料傳輸的速度。
 
++如何列出一個目錄佔用的空間 du或du -s或du -k du -S | sort -n 可以迅速發現那個目錄是最大的。
用df可以看到已安裝的檔案系統的空間大小及剩餘空間大小。
quota -v檢視使用者的磁碟空間訊息,如果你用quota限制了使用者空間大小的話。
++如何使新使用者首次登陸後強制修改密碼 #useradd -p 『』 testuser; chage -d 0 testuser

++在Linux中有時開機不自動檢查新硬體,新安裝的網路卡找不到。請問怎麼解決?
答:自動檢查新硬體的服務是Kudzu,使用者可以用「ntsysv」指令啟動該服務。
下次重啟就會找到使用者的新網路卡。

++從台灣省的一個 網站找到的,如何讓系統密碼和samba密碼一致,並可以讓使用者自行修改他們的密碼. 使用web介面來同步變更system passwd 及 samba password
下載 http://changepassword.sourceforge.net/ 安裝就可以了.先看README哈.
附加: 將系統使用者批次倒成samba使用者. less /etc/passwd | mksmbpasswd.sh >; /etc/samba/smbpasswd
++變更Linux啟動時用圖形介面還是字元介面 cd /etc vi inittab 將id:5:initdefault:
其中5表示預設圖形介面 改id:3: initdefault: 3表示字元介面 ++配置smb可以被哪些IP所用. cd /etc/samba Vi smb.conf 找到hosts allow = 192.168.1. 192.168.2. 127. 修改其為哪些機器所用,注意IP之間用逗號分開
舉例: hosts allow =192.168.1.110,192.168.1.120 ++禁止在後台使用CTRL-ALT-DELETE重起機器 cd /etc/inittab vi inittab 在檔案找到下面一行 # Trap CTRL-ALT-DELETE ca::ctrlaltdel:/sbin/shutdown -t3 -r now (註釋掉這一行)
如: # Trap CTRL-ALT-DELETE #ca::ctrlaltdel:/sbin/shutdown -t3 -r now
++修改主機名 vi /etc/sysconfig/network 修改HOSTNAME一行為HOSTNAME=主機名 ++檢視開機檢驗的硬體 dmesg | more
++檢視硬碟使用情況 df –m
++檢視目錄的大小 du –sh dirname
++解壓小全 tar xvfj lichuanhua.tar.bz2 tar xvfz lichuanhua.tar.gz tar xvfz lichuanhua.tgz tar xvf lichuanhua.tar unzip lichuanhua.zip
注:壓縮 tar cvfz FileName.tar.gz DirName ++顯示記憶體使用情況 free –m
++顯示系統運行了多長時間 uptime ++顯示開機自檢的內容指令 dmesg
++連接埠的詳細清單 /etc/services
++檢視物理訊息 lspci
++文字截面的中文支援 RH 9.0自帶安裝包 zhcon_0.2.3_1.rh9.i386.rpm 安裝完成後,執行: zhcon 就可以支援中文了
++linux 控制 windows
(1)用RH9.0自己帶rdesktop,版本是1.2.0 指令:rdesktop –u user –f 192.168.1.70 色預設的是8位
(2)要達到16色,就要下載新版本1.3.0 rdesktop –a 16 –u lichuanhua –g 800*600 192.168.1.70
++不讓顯示器休眠 setterm –blank 0
++顯示最後一個登入到系統的使用者 last ++檢視所有帳號的最後登入時間 lastlog /var/log/lastlog
++檢視系統自開通以來所有使用者的登入時間和地點 cat /var/log/secure ++顯示現用的使用者所屬訊息 id
++如何知道Apache的連線數目 ps -ef|grep httpd|wc -l #其它服務可以類推 netstat -nat|grep -i 「80〞|wc -l # 以上結果再減1吧
++刪除使用者帳號的同時,把使用者的主目錄也一起刪除 userdel -r 使用者名
++修改已有使用者的訊息 usermod [參數] 使用者名 參數: -c, -d, -m, -g, -G, -s, -u以及-o與adduser參數意義相同 新參數: -l 新使用者名(指定一個新的帳號,即將原來的使用者名改為新的使用者名)
++改變redhat的系統語系/字集 改 /etc/sysconfig/i18n 檔案,如 LANG=」en_US」,xwindow會顯示英文介面, LANG=」zh_tw.GB18030〞,xwindow會顯示中文介面。
還有一種方法 cp /etc/sysconfig/i18n $HOME/.i18n 修改 $HOME/.i18n 檔案,如 LANG=」en_US」,xwindow會顯示英文介面, LANG=」zh_tw.GB18030〞,xwindow會顯示中文介面。
這樣就可以改變個人的介面語系,而不影響別的使用者 vi .bashrc export LANG=zh_tw.utf-8 export LC_ALL=zh_tw.utf-8
++cd光碟做成iso檔案 cp /dev/cdrom xxxx.iso
++快速觀看開機的硬體檢驗 dmesg | more
++檢視硬碟的使用情況 df -k 以K為單位顯示 df -h 以人性化單位顯示,可以是b,k,m,g,t..
++檢視目錄的大小 du -sh dirname -s 僅顯示總計 -h 以K、M、G為單位,提高訊息的可讀性。KB、MB、GB是以1024為換算單 位, -H以1000為換算單位。
++尋找或刪除正在使用某檔案的程式 fuser filename fuser -k filename
++linux中讓使用者的密碼必須有一定的長度,並且符合複雜度 vi /etc/login.defs,改PASS_MIN_LEN
++以不同的使用者身份運行程式 su – username -c 「/path/to/command」 有時候需要運行特殊身份的程式, 就可以讓su來做
++ adduser m -g cvsroot -s /bin/false 加入使用者m,參數-s /bin/false表示不容許使用者直接登入伺服器 id m 顯示m使用者的uid和gid號。
++ 強制卸載rpm包 rpm -e –nodeps 包名稱 #個別不標準情況下: rm -f /var/lib/rpm/__* rpm –rebuilddb
++拒絕除root使用者的其它使用者登陸 touch /etc/nologin 也可以在/etc/passwd中加!對指定使用者限制登陸
++檢查自己所屬之群組名稱 執行格式:groups
++修改檔案/資料夾所屬使用者組(支援-R) chown .組名 檔名(注:組名名勿忘」.」,「:」也可) 也可chgrp 組名 檔名 chown 使用者名.組名 檔名(同時修改所屬使用者及使用者組)
++用fuser指令檢視一下是哪些程式使用這個分區上的檔案: fuser –v –m /usr 如果沒有什麼重要的程式,用以下指令停掉它們: fuser -k –v –m /usr 然後就可以重新掛載這些檔案系統了。
++網路喚醒主機 ether-wake 目的網路卡MAC
++如何尋找大小為500K到1000K之間的檔案 find / -type f -size +500k -and -size -1000k ++讓主機不響應ping echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 若想恢復就用 echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all #必須是用指令改,不能是vi修改
++自動註銷ROOT 編輯你的配置檔」vi /etc/profile」,在"HISTSIZE="後面加入下面這行:   TMOUT=300   #300,表示300秒
++ls只列出目錄 ls -lF | grep ^d ls -lF | grep /$ ls -F | grep /$
++讓cron任務不反饋訊息 * * * * * cmd > /dev/null 2>&1 ++lsof(list open files)用法 lsof -i :xx lsof abc.txt 顯示開啟檔案abc.txt的程式 lsof -i :22 知道22連接埠現在運行什麼程式 lsof -c nsd 顯示nsd程式現在開啟的檔案 lsof -g gid 顯示歸屬gid的程式情況
++改變sshd 的連接埠 在/etc/ssh/sshd_config 中加入一行:Port 2222,/etc/init.d/sshd restart 重啟守護程式
++防止任何人使用su 指令成為root vi /etc/pam.d/su,在開頭加入下面兩行:   auth sufficient /lib/security/pam_rootok.so   auth required /lib/security/Pam_wheel.so group=wheel 然後把使用者新增到「wheel」組:chmod -G10 username
++如何讓ssh 只容許特殊的使用者登入 方法1:在/etc/pam.d/sshd 檔案中加入 auth required pam_listfile.so item=user sense=allow file=/etc/sshusers ōnerr=fail 然後在/etc 下建立sshusers 檔案,加入容許使用ssh 服務的使用者名(每一個使用者名都要單獨一行),重新起動sshd
++利用ssh 複製檔案 1、從A 複製B(推過去) #scp -rp /path/filenameusername@remoteIP:/path 2、從B 複製到A(拉過來)#scp -rpusername@remoteIP:/path/filename/path
++linux機器掛載windows上的共享檔案 windows IP:192.168.1.1 mount -t smbfs -o username=massky,password=massky //192.168.1.1/dbf /mnt/share 如想機器重啟自動掛載,vi /etc/fstab最後加入: //192.168.1.1/dbf /mnt/share smbfs defaults,auto,username=massky,password=massky 0 0
++定制linux 提示符 在bash 中提示符是通過一個環境變量$PS1 特殊的。用export $PS1 檢視現在的值,比較直 觀常用的提示符可以設定為export PS1=「[/u@/h /W]/$」。其中/u 代表使用者名,/h 代表主機 名,/W 代表現用的工作目錄的最後一層,如果是普通使用者/$則顯示$,root 使用者顯示#。
++清理檔案 [echo] > 檔名 ++DNS關聯 host -a domain.com #顯示關聯資訊都列出來 host domain.com 202.106.0.20 #用202.106.0.20這台DNS伺服器查詢domain.com
++前後台任務關聯 jobs 列出屬於現用的使用者的程式 bg 將程式搬到後台運行(Background) fg 將程式搬到前台運行(Foreground) 萬一你運行程式時忘記使用「&」了,又不想重新執行。
可以先使用ctrl+z掛起程式,然後敲入bg指令,這樣程式就在後台繼續運行了。
++尋找現用的目錄下七天前的檔案,並刪除 find ./ -mtime +7 -type f -exec rm {} /;
++產生指定大小的檔案(bs*count) dd if=/dev/zero ōf=filename bs=1000000 count=10
++尋找現用的目錄下檔案並變更副檔案名 變更所有.ss檔案為.aa # find ./ -name "*.ss" -exec rename .ss .aa '{}' /;
++修改系統時間 date -s "2005-6-4 17:26" ++讓伺服器自動同步時間 0 1 * * * /usr/sbin/ntpdate 210.72.145.44 或 0 1 * * * rdate -s time.nist.gov ++解決開啟檔案過多的問題 在etc/security/limits.conf 配置檔中設定程式檔案描述符極限: * soft nofile 2048 * hard nofile 4096 系統級檔案描述符極限及timeout時間修改,加入如下兩行到 /etc/rc.d/rc.local 啟動腳本中: # Increase system-wide file descrīptor limit. echo 65536 > /proc/sys/fs/file-max echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout #一般情況下,最大開啟檔案數比較合理的設定為每4M物理記憶體256,比如1G記憶體可以設為65536, #而最大的使用的i節點的數目應該是最大開啟檔案數目的3倍到4倍
++如何用tar打包一個目錄時,去掉其中的某些子目錄或指定檔案 加參數 –exclude 即可, 可加檔名或目錄名, 可多寫 tar cvf –exclude {dirname,filename} #dirname不要加/
++終端下修改伺服器時區 /usr/sbin/timeconfig 或直接#/etc/sysconfig/clock
++關閉啟動時的記憶體不足256M提示 #vi /etc/rc.sysinit #把最後六行註釋掉 或#vi /var/lib/supportinfo 把其中的 MinRAM: 256M 這個值調低點.
++在多層目錄中尋找到某一指定"字串" grep string -R /etc/sysconfig/ find ./pathname/ -name '*' | xargs grep 'string' ++佔用CPU的一個指令 #yes string #有時候測試用得上。狂占CPU
++Kill關聯 kill -STOP [pid]  傳送SIGSTOP (17,19,23)停止一個程式,而並不消滅這個程式。   kill -CONT [pid]   傳送SIGCONT (19,18,25)重新開始一個停止的程式。   kill -KILL [pid]   傳送SIGKILL (9)強迫程式立即停止,並且不實施清理操作。   kill -9 -1   終止你擁有的全部程式。
++在現用的目錄下建個bak目錄,然後 cp * bak,會提示略過bak,有其它辦法可以排除指定檔案(夾)? ls -F|grep -v //|xargs -i cp {} bak #推薦 或 find ! -name "./bak"
++根據程式名顯示程式號 # pidof httpd 1846 1845 1844 1843 1842 1841 1840 1839 1820 ++e2fsck 檢查使用 Linux ext2 檔案系統的 partition 是否標準工作, 檢查 /dev/hda5 是否標準,如果有異常便自動修復,並且設定若有問答,均回答[是] : e2fsck -a -y /dev/hda5 ++反向輸出 rev 反向輸出(以行為單位) tac 反向輸出(全文)
++顯示終端號 tty ++檔案行數/字數統計 wc –l file 計算檔案行數 wc -w file 計算檔案中的單詞數 wc -c file 計算檔案中的字元數 ++出每行第5個到第9個字元 cut -b5-9 file.txt
++刪除文字檔案中出現的行列 uniq ++返回檔案所在路徑 dirname /bin/tux #將返回 /bin ++fcitx在英文環境下標準使用 #vi ~/.bashrc xport LC_CTYPE="zh_tw.UTF-8" export XMODIFIERS="@im=fcitx" export XIM=fcitx export XIM_PROGRAM=fcitx #gnome-session-properties可以把fctix加入登入後自啟動
++split分割合併檔案 split -b1440k a_whopping_big_file chunk #拆 cat chunk* > a_whopping_big_file #合

Linux主機伺服器架設技術(使用者擁有權復原 Home chowner)

若以 root 身份執行 sftp 把 /home 下所有 user 資料夾取回,全部資料夾檔案身份權限皆成為 root。

解決方式:

1. 使用 chown 指令一個一個變更 → 龐大的工程。
2. 使用 shell,一次把 /home 底下所有的資料夾,恢復成原有的人。

若配合主機移轉文件,直接把 /etc/passwd,/etc/shadow, /etc/group 資料直接轉至新主機,那麼主機移轉工作就變成很快速的一件事。

SHELL內容

注意:本 shell 寫的不太好,只能放在 /home 底下執行,做法如下

* root@dns:/home$ vi /home/chownall.sh

#!/bin/bash
fnames=$(ls /home)
for i in $fnames
do
if [ -d $i ]; then
chown -R $i.$i /home/$i
fi
done

* root@dns:/home$ sh chownall.sh

【學員來函】老師您好:我是Auto Rich與正印家族學員
我的美國虛擬主機商(bluehost)警告我:
資料庫Mysql超過負荷,要我自行刪除或升級否則將自動關閉停止服務.

回覆:這就是『網路賺錢者』租用虛擬主機的『痛』!
國內外都一樣(虛擬主機要租時對方講的很好聽,等你租了就理由一堆….這個不行!那個不難這樣弄!)

我們每個月繳交上網費(你有沒有架設Linux主機上網費都一樣!吃到飽!)
笨蛋才會花錢去租虛擬主機?我是過來人….自己有主機你要怎麼搞都可以!

虛擬主機業者通常會以『你自己架設主機,誰幫你維護?』『請人維護每月薪資要好幾萬喔!』讓你選擇跟他們租虛擬空間。
沒錯!『你自己架設主機,無人幫你維護!被駭客攻擊怎麼辦?』『請人維護每月薪資好幾萬!』但你若選擇:
總教頭推出的「架設Linux主機+架站+維護教學課程+遠端協助」專案,一切問題都一次解決了!

http://por.tw/linux/new-E_learning/index.php
————————————————————————————————

【學員來函補訴】因為主機商的升級專案仍不能滿足我的需求,我想請老師幫我架站:
我有些疑慮想請問老師:

1.我預期3年後會搬家,網路線會重新申請,這樣對我的網站會有影響嗎?
回覆:若因搬家,網路線會重新申請,這樣對你的網站不會有任何影響。(請放心!)
——————————————————————
2.我是在PChome申請的網域 abc.tw 用的很習慣,是否可以一起移轉到自己的網站?
回覆:網址與網站100%可以轉移到自己新的Linux主機上,這沒問題!
——————————————————————
3.老師幫我架設的網站是否可以搭配多個網域?
回覆:我架設的Linux主機可以像虛擬主機一樣,一台主機可以搭配多網址各自獨立架站(沒有問題!)
——————————————————————
4.自己的網站是否須24小時開機呢?
回覆:我目前都是24小時全年開機(如果你認為你要睡覺就不做生意?那可以關機!)
網路賺錢本來就是連你睡覺都會有訂單(你睡覺網站都還在替你賺錢),所以建議你:
24小時全年開機
——————————————————————
5.我現在網路線是分享器分支線,這網路分支線可以直接接自己的網站嗎?
回覆:中華電信光世代,可以免費申請一個固定IP就可以架設主機(架設多個網站)
如果是地方第四台業者,你有可以打電話跟他們說:你要一個固定IP(是否需要升級或補差額?)
我的客戶中各種電信業者都有,目前還沒發生說台灣有:不提供IP架站的業者…..
——————————————————————————–

解決安裝完 Linux 後修改各伺服器設定檔困擾的好工具:YHTools

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

版權暨免責聲明

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

使用前注意

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

改版說明

* 2019-03-09 改版:fw4local.pyw 單機防火牆規則列勾選防禦 SSH Port 卻變成 FTP Port 之錯誤修定
* 2019-03-10 改版
o 新增 yhtools/chmodadv.sh 程式,使 chmod 777|755 時會自動判斷資料夾(777|755)或檔案(666|644)
o 修改 homechown.sh 為不必先複製到 /home 底下也可以執行
* 2019-03-11 小改 yhtools/chmodadv.sh 的提示字元
* 2019-03-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

台灣的網路在網友的壓力下,終於又要免費升速了
看來這只是開始,往後還會降價或免費升速(業者降價就像擠牙膏,燈不點不亮)
例如:中華電信的光世代網路,明明有免費贈送一個固定IP可以架設主機來賺錢(他不會主動給你,而是你要上該官方網站免費申請)
這就變成:繳交一樣的錢,不申請使用者是:笨蛋!
—————————————————-
網路速度免費升速(以下是該新聞的全文引用)

NCC通過 光世代252萬戶免費升速
【聯合報╱記者彭慧明/台北報導】

國家通訊傳播委員會(NCC)昨天通過中華電信提報光世代網路上行速率「升速不加價」。這項升速計畫,預估約有二百五十二萬光世代用戶受惠,中華電信並承諾,三個月內完成轉換升速作業,若未能在三個月內完成,對來不及升速的用戶將減收月租費。

這一波升速方案,是中華電信連續三年來的調整,前兩年針對下行速率分別進行升速、升速不加價,今年則是因為用戶反映上傳頻寬不夠大,因此針對上傳速率部分增加頻寬、不加價。NCC估計,收到公文後半個月內可以開始作業,中華電信最快可在七月初開始轉換。據此估算,最快約在九月底、十月初就可以完成轉換。

受惠升速的包括五類型的光世代用戶,包括4M(下傳速率)/768K(上傳速率、升級為1M)、12M/3M(升級為4M)、20M/4M(升級為5M)、50M/5M(升級為10M)、100M/10M(升級為20M)。升速後月租費不變。

雖然消費者也殷切期待上下行速率都是50MB和100MB的高速光世代上網服務,不過NCC發言人翁柏宗表示,中華電信確實提出了費率,但委員認為與日韓等亞洲鄰近國家相比收費偏高,要求中華電信重新補足資費方案說明。

獨立主機與虛擬主機的差異

※、什麼是虛擬主機?
虛擬主機 (Virtual Hosting),又稱共享主機 (Shared Hosting)
市面上還衍生出許多不同名稱如網頁代管、網站代管、網頁空間、虛擬空間等。
虛擬主機是由十數個至數百個網站共同使用一台獨立的實體主機以及網路頻寬,虛擬主機與虛擬主機之間是完全分隔獨立的
且均分別具有其專屬的網域名稱,同時擁有獨立的網頁、信箱、資料庫等。
虛擬主機和實體主機在本質上並無不同,差別在於實體主機乃專門為單一個體戶設置
而虛擬主機則是專門為硬體資源需求較少者設置,透過集體共用一台實體主機資源來創造最大的利用效益。
簡而言之,虛擬主機就好比住戶眾多的公寓大廈,而實體主機好比單一住戶的透天厝。
由於由多個虛擬主機用戶共同分擔硬體設備費用、網路頻寬費用、線路費用
使得租用所耗成本低廉,免除投入伺服器、網路設備以及網管人員等金額龐大的費用,比較適合『小公司』或『個人用戶』。

※、什麼是獨立主機?
Dedicated Servers(或 Dedicated Host,獨立主機,又稱專屬主機)
功能完整的伺服器給客戶使用,同時也會把作業系統和軟體都設定好。
客戶擁有完整的主機資源和所有權限,就像自行購買一台主機放到ISP的機房代管那樣。
客戶不需要煩惱軟硬體安裝和系統安全、監控等瑣碎的事。

Dedicated Servers適合網站有大量流量、需要複雜運算、有大量會員或資料庫存取的用戶。
另外如果您想安裝比較特殊的軟體(例如比較冷門的資料庫如DBMaker),那就需要使用獨立主機。
雖然VPS(虛擬私有伺服器)也可以讓使用者自行安裝軟體,不過仍有部分的軟體不能在VPS的作業系統下安裝,這時候獨立主機是唯一的選擇。

獨立主機同時也會提供獨立的固定IP位址,也幾乎都會提供SSL安全認證,所以非常適合流量較大的購物網站。
若是您有大量寄發郵件的必要性,通常也建議使用獨立主機的服務,因為虛擬主機和VPS通常會限制用戶大量寄發郵件的數量或頻率,但獨立主機則比較沒有這方面的限制
(但仍不可寄發Spam Mail廣告垃圾郵件,因為違反歐美地區的法律)。
———————————————————————————–
獨立主機與虛擬主機的差異:
獨立主機與虛擬主機最大的的差異當然在於『專屬性』與『自主性』
這就好像『分租房子』與『自己擁有房子』之差異
需用虛擬主機:就好像租用宿舍大家共用一條網路線(或一棟大樓大家共用一條網路線)
你想會怎樣?雖然省錢,但討厭的事情你就要:忍耐一點!
當然最大的差異在於:虛擬主機限制很多(獨立主機隨你喜歡設定!)
新手(傻傻還搞不清楚時),一租用虛擬主機,就會遇到(這個不能用,那個限制用….等等的挫折…好像架站不是那麼容易?)
其實,等你自己擁有一台自己的獨立主機時,你終於可以脫離那些限制與管制啦!
————————————————————————–
當然,獨立主機就會出現『誰替你維護?』『維護每個月要花多少錢』?的問題!
能否『魚』與『熊掌』兼得呢?答案是:肯定的!
只要你申購:『架設Linux主機架站維護教學課程遠端協助專案』全方位配套措施+線上技術諮詢
http://por.tw/linux/new-E_learning/index.php

那網路就是您的天下!你要架設幾個網站都可以!
你要因增幾個資料庫都可以!你要多大的空間(只要增大硬碟),那還怕空間不夠用?
你的主機系統PHP.ini(所以的細項設定,都可以隨你需求自由設定)
那還有誰能限制了你?還有什麼比自己獨立擁有更有隱私與主權?
對啦!這就是網路創業賺錢的成功第一大步!邁出此一大步(你的網路賺錢之路將更開闊、更自由!)
————————————————————————–

『將軍』你是武藝高強?膽識過人?精通騎射?您生錯時代啦!
『戰馬』你是汗血寶馬?善奔能越?躍馬中原?此戰場沒有你的舞台!
開店因為房屋很貴買不起,所以先租(等賺錢一定買下來!)
網路開店,一台Linux主機才兩萬五千元,誰都買得起!
租虛擬主機繳年租金、限制空間大小、限制語法、限制流量……
如此綁手綁腳的經營網路事業,還能有何大作為?
您的客戶資料庫(哈哈!被人家看光光啦!)
租虛擬主機,無隱密可言(主機管理業者擁有最高權限)
租用者就像『裸體』展示於人家的目光下
『商業機密』一詞,跟你的距離是無限的遙遠!
————————————————————

大家都知道網路創業的好處:
1.初期建置網站金額較低,甚至零成本。
2.初期人事、水電成本較低。
3.網路店面比較沒有曝光的地區限制(除非產品、物流、語言的限制)。
4.消費者可以在任何時間瀏覽與選購商品(24小時營業)。
5.初期可採用眾多的網路平台,免費宣傳、曝光方式,之後再採用付費的方式,提高效益。
6.即使沒有成功,成本損失也較低。

想要網路創業自動賺錢,你應該具備那些專業技能呢?

那座而言不如起而行,如何開始您的第一步行動呢?

1.先評估自己會什麼網路技能?不會那些網路技能?
將自己的優勢寫下來,也將自己需要進修的專業技能逐一記錄下來

2.找到您需要的課程(利用下班時間,努力精研)
最好是影片課程,不要只是一般書店的書籍或網路電子書
(因為圖片與文字根本學習效率不好,無法有效迅速學會,學習中有問題要問誰?)
實際網路經營時發生網站語法錯誤或網站被駭客入侵!
那您最好有個專業『會程式語言與架設主機』的老師可以免費技術諮詢
不然,一發生問題,您的網路事業就停擺了,網站一停就無收入!
(就好像上班放無薪假一樣….悽慘!)。
有甚至網站資料全毀,資料庫也出問題,你要在第一時間內就能快速修護!
這一點你可要小心!網路創業絕對要有:技術諮詢!
迅速回覆的專業老師(或專業技術顧問)。
不然,就像大海裡頭的孤鳥,叫天天不應,叫地地也不靈
(自己閉門造車摸索是網路創業者最悲慘的失敗原因!)。

attachments/201208/5398530876.jpg

2.你的網站要自己架設!
(請人設計網站費用貴,小則三四萬高者也有十幾萬元的,往後網站維護也不方便!)
這方面你可以學習:
1.網站架設與網頁設計教學
詳細介紹:
http://por.tw/Website_Design/E_learning/index.php
長期技術支援網站:
http://por.tw/Website_Design

2.購物網站架站教學
詳細介紹:
http://por.tw/sale/cmmerse-4-all/index.php
長期技術支援網站:
http://por.tw/sale

3.部落格架站、行銷、賺錢術教學
詳細介紹:
http://por.tw/blog/E_learning/index.php
長期技術支援網站:
http://por.tw/blog

4.PHP+MySQL+PHPMaker+Dreamweaver整合教學
(PHPMaker運用設計網站教學)

詳細介紹:
http://por.tw/php/new-E_learning/index.php
長期技術支援網站:
http://por.tw/php

5.Flash-動畫製作教學
詳細介紹:
http://por.tw/flash/new-E_learning/index.php
長期技術支援網站:
http://por.tw/flash
————————————————————————-

3.網站圖片非常重要,你如果不會拍照與修圖,那您就要學習:
商業商品攝影教學
詳細介紹:
http://por.tw/design/photographing_Course/index.php
長期技術支援網站:
http://por.tw/design
————————————————————————-

4.影片能讓您的網站更出色,如果您不會錄影
或影片剪接、編輯、上字幕、做特效,那您就要學習:

【錄影影片製作】技術教學
詳細介紹:
http://por.tw/photo-video/video_Course/index.php
長期技術支援網站:
http://por.tw/photo-video
————————————————————————-

5.有了網站,接下來就是『如何將網站經營的有聲有色?』
這就需要專業的網路行銷技術:
A.搜尋引擎排名SEO教學
詳細介紹:
http://por.tw/seo/new-seo/index.php
長期技術支援網站:
http://por.tw/seo

B.EDM電子報製作教學
詳細介紹:
http://por.tw/edm/edm_Marketing/index.php
長期技術支援網站:
http://por.tw/edm

C.電子書製作賺錢密技教學
詳細介紹:
http://por.tw/ebook/new-ebook/index.php
長期技術支援網站:
http://por.tw/ebook

D.【訂單王】超級網路秒殺成交法-A-page 【一頁定江山】行銷賺錢術
詳細介紹:
http://por.tw/page/new-E_learning/index.php
長期技術支援網站:
http://por.tw/page
————————————————————————-

6.如果您想要學習『專案方式』的專業技能,您可以學習:
A.「網路創業賺錢_如何從網路創業賺錢賺到第一個100萬!」課程
詳細介紹:
http://por.tw/soho/new-E_learning/index.php
長期技術支援網站:
http://por.tw/soho

B.藉助『程式』邁向網路自動賺錢術(Auto Rich -自富課程)
詳細介紹:
http://por.tw/Rich/new-E_learning/index.php
長期技術支援網站:
http://por.tw/Rich

C.【正印家族】授權營運專案‧自動印鈔機賺錢術
詳細介紹:
http://por.tw/money/new-E_learning/index.php
長期技術支援網站:
http://por.tw/money
————————————————————————-

7.您的網站可以用兩種方式經營
1.是租用虛擬主機
(創業初期,如果尚無長遠規劃可租虛擬主機空間架設網站)

2.是自己擁有獨立主機!
如果您有此長遠的規劃,那您可以申購此服務:
替你架設Linux主機伺服器+影片教你維護(還有遠端技術協助)讓你自己當家作主!
http://por.tw/linux/new-E_learning/index.php
長期技術支援網站:
http://por.tw/linux
————————————————————————-

8.此外,如果你對國外軟體感覺不好用,那您可以學習:
軟體中文化實戰教學影片
軟體中文化實戰教學影片教學詳細介紹:
http://por.tw/f2blog/new-E_learning/index.php
長期技術支援網站:
http://por.tw/f2blog

不論是英文、日文、大陸簡體或其他軟體,能透過軟體中文化技術變成:繁體中文版
那在網路事業的經營上,所有要用到的軟體,就能通通變成:繁體中文版啦!
那是業經營起來當然是:得心應手!手到擒來!

————————————————————————-

在本教學中,您將學習在運行Debian 9 Stretch的Apache Web伺服器上安裝TLS / SSL證書的過程。
完成後,伺服器與用戶端之間的所有流量都將被加密且安全。
這是保護電子商務網站和其他線上金融服務安全的標準做法。

先決條件:
在開始使用本指南之前,您需要具備以下條件:

具有root訪問權限或sudo使用者訪問Debian 9 Stretch VPS的 SSH
正確配置了功能變數和虛擬主機的Apache Web伺服器


步驟1:安裝Let’sEncrypt certbot
使用“讓我們加密”取得SSL證書的第一步是在伺服器上安裝certbot“讓我們加密”用戶端。要安裝,請運行以下指令:

sudo apt-get install certbot

步驟2:建立並安裝SSL證書)
使用“讓我們加密”用戶端為Apache生成SSL證書非常簡單。
用戶端將自動取得並安裝對我們的Apache配置中的功能變數有效的新SSL證書。要執行交談式安裝並取得Apache配置中定義的所有功能變數的證書,請輸入:

sudo certbot --Apache

步驟3:檢查SSL證書的配置
在上述階段,將創建並配置證書。現在檢查您的域VirtualHost與ssl的配置是否類似。如果沒有,那麼將它們手動放在virtualhost的ssl配置上:

...
SSLCertificateFile / etc / letsencrypt / live / <您的網域> /cert.pem
SSLCertificateKeyFile / etc / letsencrypt / live / <您的網域> /privkey.pem
SSLCertificateChainFile / etc / letsencrypt / live / <您的網域> /chain.pem
...

現在,需要測試我們的配置是否正確–

sudo apachectl configtest

最後,重新啟動 apache,您的SSL應該立即開始工作。

sudo service apache2 reload

步驟4:設定自動續約
系統上的Certbot軟體包帶有cronjob,它將在證書過期之前自動更新證書。
由於“讓我們加密”證書可以使用90天,因此,最好使用此功能。您可以通過運行以下指令來測試證書的自動續訂:

sudo certbot renew --dry-run

結論:
您剛剛通過實施最受期待的安全功能-免費的SSL證書來保護apache Web伺服器!
從現在開始,功能變數Web伺服器和用戶端之間的所有流量都是安全的,可以確保沒有人可以攔截通信並變更或竊取重要訊息。

Linux 常用指令使用方法大搜刮

1.# 表示權限使用者(如:root),$ 表示普通使用者
開機提示:Login:輸入使用者名
password:輸入密碼   使用者是系統註冊使用者完成登陸後,可以進入相應的使用者環境.
離開現用的shell,輸入:exit

2.useradd netseek 加入一個netseek使用者
passwd netseek  給netseek這個使用者設定密碼.
(/etc/passwd /etc/group)
userdel netseek 刪除帳號
userdel -r netseek 刪除帳號連同自家目錄.
[更詳細的操作請參閱man page,和帳號管理篇]

3.檢視指令
ls -l                顯示檔案清單
ls -al        -a 顯示所有檔案及目錄 (ls內定將檔案名或目錄名稱開頭為”.”的視為隱藏檔,不會列出)
ls -al |grep ‘^d’   顯示目錄
ls -al |grep ‘^[^d]’ 在一個目錄中查詢不包括目錄的所有檔案
ls -sh        (man ls 檢視man說明.)

linux幾種檔案類型:
d    表示此檔案是一個目錄
–    表示此檔案是一個普通檔案
b    表示此檔案是一個特殊的塊裝置I/O檔案
c    表示此檔案是一個特殊的字元裝置I/O檔案
l    表示此檔案是一個連線檔案。在其檔名稱後緊跟與它連線的檔案路徑及名稱

file 指令通過探測檔案內容判斷檔案類型

4.建立檔案和目錄
touch 1.txt
cat > 2.txt (用定向符建立檔案,填寫內容後,按ctrl+d儲存內容)
mkdir mywork 建立mywork這個目錄

5.複製檔案或目錄
cp filename1 filename2
cp -r dir1 dir2 複製目錄
cp -rf 參數f是刪除已經存在的目的檔案而不提示
cp -i  參數i和f相反,在覆蓋目的檔案之前將給出提示要求使用者確認,回答y時目的檔案將被覆蓋,是交談式複製.

6.刪除檔案和目錄(刪除檔案或目錄都可以用rm搞定)
rm 1.c //將1.c這個檔案刪除
rm -rf (強制刪除檔案或目錄,刪除時不提示.)

7.移走目錄或是改檔名
mv [opitons] 源檔案或目錄   目的檔案或目錄
[options]主要參數
-i:互動模式操作,如果mv操作將導致對已存在的目的檔案的覆蓋,此時系統詢問是否重寫,要求使用者回答「y」或「n」,
這樣可以避免誤覆蓋檔案.
-f:禁止互動操作。mv操作要覆蓋某個已有的目的檔案時不給任何指示,指定此參數後i參數將不再起作用。
mv hello ../ 將hello目錄或是檔案搬移上一級.

8.alias 別名
alias dir=’ls -l’   輸入dir,其實就相當於執行了ls -l

9.權限的控制(rwx 421)
chmod +x hello.sh 賦於可執行權限.
(詳細介紹一下權限的控制)
chmod 指令 權限修改 用法:chmod 一位8進位數 filename (rwx 421)
eg: chmod u+x filenmame      只想給自己運行,別人只能讀
chown netseek.netseek mydir  改變使用者屬組

u:表示檔案所有者
g:表示同組使用者
o:表示其它使用者
a:表示所有使用者
opt則是代表操作,可以為:
+:加入某個權限
-:取消某個權限
=:賦予給定的權限,並取消原有的權限
而mode則代表權限:
r:可讀 4
w:可寫 2
x:可執行 1

10.pwd 顯示現用的目錄完整路徑和改變目錄
cd netseek 進入netseek這個目錄
cd 離開現用的目錄
cd ../ 進入上一級目錄.
cd – 返回上一次目錄
cd ~ 返回主目錄

11. cat,more,less 指令
將某個檔案的內容顯示出來,兩個指令不同的是:cat 把檔案內容一直列印出來,而more則分展顯示.
less 可以上下翻滾檢視內容.
cat > 1.txt 可以填寫或是複製內容,按ctrl+d儲存
cat 1.c
more 1.c
head -n filename 顯示第N行的內容
tail -n filename 顯示後N行的內容
tail -n 20 /var/log/message 顯示最新的20行日誌

12.設定linux時間和日期
date 指令(“date MMDDhhmmYYYY.ss”)
2006年7月24日12:37 ,30秒
date 072412372006.30
date -s 20:30:30 #設定系統時間為20: 30:30
date -s 2006-7-24 #設定系統時期為2006-7-24
clock -r #對系統Bios中讀取時間參數
clock -w #將系統時間(如由date設定的時間)寫入Bios

13.檢視找檔案(find,grep,awk更多的請參照man page或shell寫程式專題講解)
幾種介紹:
find 路徑  -name 檔名
find /etc -name named.conf
locate 通過檔名搜尋檔案的工具(要先通過updatedb建立索引資料庫)
localte named.conf
whereis 是尋找二進位檔案,同時也會找到其說明檔案
which 和where 相似,只是我們所設定的環境變量中設定好的路徑中尋找;比如;

14.查殺程式
ps aux
ps -ef |grep
kill -9
看看哪個程式佔用的記憶體最大
ps -aux|sort +5n

將程式放在前後台執行
cp file1 file2 &
&與ctrl+z 你可以使用&或ctrl+z來將指令放在後台執行.
fg 是將放在後台執行的程式再放回前台.
jobs

15.dd指令備份
dd if=”input_file” of=”out_file” bs=”block_size” count=”number”
參數:
if:就是input file可以是裝置
of:就是output file也可以是裝置
bs:規劃的一個block的大小,如果沒有設定時,預設是512bytes
count:多少個bs的意思.

dd if=/etc/password of=/tmp/passwd.bak 備份

16.mount 加載一個硬體裝置
用法:mount [參數] 要加載的裝置 載入點
eg: mount /dev/cdrom
cd /mnt/cdrom //進入光碟目錄
u盤:
mkdir /mnt/usb;(註:建立掛載目錄)
mount /mnt/sda1 /mnt/usb;(註:掛載USB磁碟)
現在就可以使用USB磁碟了,在/mnt/usb目錄下的內容就是USB磁碟裡的內容了;
使用完後,用以下指令卸載USB磁碟即可。
umount /mnt/usb
mount     列出系統所有的分區
mount -t iso9660 /dev/cdrom /mnt/cdrom   掛載光碟
mount -t vfat /dev/fd0 /mnt/floppy       掛載軟碟
mount -t vfat -o iocharset=utf8,umask=000 /dev/hda2 /mnt/hda2   掛載fat32分區
mount -t ntfs -o nls=utf8,umask=000 /dev/hda3 /mnt/hda3         掛載ntfs分區
Linux-NTFS Project: http://linux-ntfs.sourceforge.net/
umount /mnt/hda3 卸載
注:掛載裝置前,請先fdisk -l 看一下.

17.su在不離開登陸的情況下,切換到另一個身份
用法: su -l 使用者名(如果使用者名預設,則切換到root狀態)
eg:su -l netseek (切換到netseek這個使用者,將提示輸入密碼),加上-表示切換到使用者的環境變量.

sudo 利用他可以執行root執行的權限

18.whoami,id,w,lastlog,users,groups
w       檢視使用者登陸訊息
who     檢視現用的登陸使用者
last    最近一個月使用者登陸情況
lastlog 檢查某特定使用者上次登入的時間,並格式化輸出上次登入日誌/var/log/lastlog的內容
whoami  確認自己身份.
id      列印出自己的UID以及GID.(UID:使用者身份唯一標識.GID:使用者組身份唯一標識.每一個使用者只能有一個唯一的UID和GID.)
users
groups  使用者所歸屬的使用者組查詢;
finger -l netseek root
finger -s 或是直接finger
可以讓使用者查詢一些其他使用者的資料
eg: finger //檢視所用使用者的使用資料
finger root //檢視root的資料

19.使用者用過的指令和執行歷史執行的指令
history 顯示使用者過去命用的指令
!!執行最近一次的指令

20.uname 檢視linux系統訊息
參數:-a 所有訊息 -r 版本號 -n 主電腦名

21.建立軟連線
ln [-sf] source target
ln souce-file hard-link
ln -sf source-file soft-link
s表示軟連線,f表示,若有同名檔案在,則將它覆蓋過去.
註:硬連結不能為目錄建立,只有檔案才能建立硬連結。

22.檢視目錄
du -sh   目錄或是檔案
du -m    du系統預設輸出是以KB,以參數-m表示以MB顯示.
cat /etc/fstab   檢視分區清單
fdisk -l
df -h
df -ah

23.檢視linux系統佔用的資源(top,free,uptime)
top   檢視後台程式,監控系統效能
top -d 2 每兩秒列新一次
top -d -2 -p3690 檢視某個PID
top -b -n 2 >/tmp/top.txt 將top的訊息進行2次,然後將結果輸出到/tmp/top.txt

free -m 檢視系統記憶體使用情況

uptime  顯示目前系統開機時間(檢視開機多久,多少人登陸,過去1,5,15分鐘系統的負載)

24.檔案比軟體:
cmp  cmp(「compare」的縮寫)指令用來簡要指出兩個檔案是否存在差異,它的使用權限是所有使用者
diff diff指令用於兩個檔案之間的比較,並指出兩者的不同,它的使用權限是所有使用者

25.遠端操作與檔案傳輸
ssh user@remote.machine
scp user@remote.machine:/remote/path /local/path
scp /local/path user@remote.machine:/remote/path

26.編譯c/c++檔案
gcc
gcc -v 檢視GCC版本
gcc -o test test.c 2>errfile 編譯test.c時若有錯誤訊息,則將錯誤訊息重導至errfile

27.chattr +i filename 禁止刪除,chattr -i filename 取消禁止
lsattr 檢視隱藏檔屬性

28.自動化執行
at 執行一次
crontab 定時迴圈執行程式
crontab 介紹
1 以root登入
2 # crontab -e
3 加入一行
1 */12 * * * /usr/sbin/ntpdate pool.ntp.org
分鐘 (0-59)
小時 (0-23)
日 期 (1-31)
月份 (1-12)
星期 (0-6)//0代表星期天

29.關機和重啟:
shutwond [-t 秒數] [-rkhncff] 時間 [警示訊息]
-t 秒數:設定在切換至不同的runlevel之前,警示和刪除兩信號之彰間的延遲時間(秒)
-k 發出警示訊息,但不是真的要shutdown
-r shutdown這後重新開機
-h shutdown這後開機
-n 不經由init,由shutdown指令本身來做開機工作(不建議你使用)
-f 重新開機時,略過fsck指令,不檢查檔案系統.
-F 重新開機時,強迫做fsck檢查.
-c 將已經正在shutdown的動作取消
shutdown -h now 立刻關機,其中now相當於時間為0,halt,poweroff也可以關機,或是直接init 0
shutdown -h 20:30  系統將在今晚的8:30關機
shutdown -h +10    系統再過十分鐘後自動關機.
shutdown -t3 -r now  立刻重新開機,但在警示和刪除processes這間,
shutdown -k now  ‘Hey! Go away! now…’ 發出警示訊息,但沒有真的關機.

reboot:
shutdown -r now 幾乎與reboot相同,不關建議用reboot執行如下:
shutdown -r +30 ‘The system wiil reboot’
shutdown -r +10 ‘Hey!Go away!’  10分鐘後系統重啟.
#sync; sync; sync; reboot   註:sync將資料同步寫入硬碟
halt指令相當於shutdown -h now ,表示立刻關機。
reboot指令相當於shutown -r now ,表示立刻重起。

30.如何改變啟動模式運行層級
vi /etc/inittab
將5改成3,啟動後就可以變成字元模式。
startx 或是 init 5 就可以進入圖形化介面.
runlevel 顯示現用的運行層級

如何切換至單使用者模式
利用telinit或init(其實telinit只是一個synbol link to init)
telinit 1 或是 init S 即可,當然telinit S也是可以的.

如何使ctrl+alt+del 三鍵失效的方法
#vi /etc/inittab
在ca::ctrlaltdel:/sbin/shutdonw -t3 -r now之前加上注解#
然後執行#telinit q ,參數q是要telinit重新檢查一次/etc/inittab

31.TAB  巧用tab鍵,當你不知道檔案或指令的全名是請連續按兩下tab鍵.

32.clear 清屏

33.dmesg |more 顯示開機訊息(檢視系統啟動時硬體訊息)

34.改變程式執行的優秀級
nice    設定優先權 nice -n -5 vi & 用root給一個nice值為-5,用於執行vi
renice  調整已存在優先權

35.模組關聯的指令
lsmod 顯示已經載入系統的模組
depmod 分析可載入系統的相依性
modinfo 顯示kernel模組的訊息
insmod  載入模組
modprobe 自動處理可載入模組
rmmod    刪除模組

36.chkconfig –list 顯示各種服務的狀態,利用chkconfig可以輕鬆管理init腳本.

37.linux的幾種解壓縮指令
compress aaa  將aaa檔案壓縮成為aaa.Z
compress -d aaa.z 將aaa.z檔案壓縮成aaa

gzip aaa 壓縮指令
gzip -d aaa.gz  解壓指令

bzip2 -z filename 壓縮,同上加-d參數解壓
bzcat filename.bz 檢視壓縮檔內容

tar czvf aaa.tar.gz aaa 將目錄aaa壓縮成aaa.tar.gz
tar -N ‘2007/03/01’ -zcvf home.tar.gz /home 在/home當中,比2007/03/01新的檔案才備份.
tar –exclude /home/cao -zxvf myfile.tar.gz /home/* /etc 要備份/home,/etc,但不要/home/cao
cd /tmp; tar -cvf -/etc | tar -xvf – 將/etc/打包後直接解開/tmp底下,而不產生檔案.
tar zxvf aaa.tar.gz 解壓縮指令.
tar jxvf aaa.tar.bz2 解壓指令
tar zxvf aaa.tar.gz -C /var/www 將aaa.tar.gz解壓到/var/www目錄下
cpio -covB > [file|device] 備份
cpio -icduv < [file|device] 復原

38.網路指令
ifconfig 顯示或設定網路裝置,可以檢視現用的ip,類似於windows裡的ipconfig
service network restart(/etc/rc.d/init.d/network restart) 重啟網路卡
ifdown eth0 關閉網路卡
ifup eth0 開啟網路卡
route -n 檢視路由表
route add -net 192.168.20.1 netmask 255.255.255.0 dev eth0

netstat 檢視網路連線情況
netstat -i 顯示網路卡運行情況
netstat -r 檢視主電腦的路由清單

traceroute

hostname 顯示主電腦名
hostname -i 顯示現用的主電腦名的IP.

39.系統整合管理選單.
setup   系統服務管理指令
ntsysv  設定系統服務

40.fdisk /mbr 刪除GRUB

41.資料庫啟動
啟動mysql:
service mysqld start(/etc/rc.d/init.d/mysqld start)
mysql -uroot -p 輸入密碼即可操作mysql資料庫.

啟動Oracle
su – oracle
$lsnrctl stop
$lsnrctl start
sqlplus /nolog
conn /as sysdba(connected)
startup

42.安裝軟體包
rpm包安裝:
rpm -ivh xxx.rpm         安裝rpm包
rpm -qa –last | less    根據安裝日期顯示已經安裝的包
rpm -qa |grep mysql -i   查詢系統是否安裝mysql包(-i,忽略大小寫)
rpm -e                   刪除安裝的軟體包
rpm -e mysql* –nodpes   強制刪除關聯的軟體包
rpm –test               測試安裝
rpm -qi                  查詢mysql套件的說明資料
rpm -qpl xxx.rpm         檢視rpm包內含的內容.
rpm -qc[d]               設定檔與說明檔
rpm -Uvh                 升級安裝
rpmbuild –bb SPECS/xxx.spec 重新裝將xxx.spec編譯成rpm包.
rpmbuild –rebuild packagename.src.rpm 重新把.src.rpm編譯成rpm包.

源程式碼編譯安裝(經典)
./configure              檢查系統訊息(./configure –help | more 說明訊息,可以看到關聯的參數設定)
make clean               清除之前留下的檔案
make                     編譯
make install             安裝
注:源程式碼包安裝,一般先將檔案解壓,安裝過程大致上面幾步,具體說明一般見解壓後目錄裡的(INSTALL,READEME說明.)

郵件工具OpenWebmail 因習慣上有大多數再使用,以下總教頭針對OpenWebmail的安裝做詳細的說明
要如何自己安裝 openwebmail 呢?

以下的語法執行動作,均是以 root 身份,在 /root 目錄底下運作。
(請先確認linux 主機更新表列設置網址是否正確?)

套件庫設定:

資料夾:/etc/apt
套件庫設定檔: /etc/apt/sources.list
—————————————————————–
先執行:   
       apt-get update
—————————————————————–
移除(否則無法安裝 OpenWebmail):
    apt-get remove libcrypt-eksblowfish
—————————————————————–
 安裝所需套件:   apt-get install libparent-perl perl-suid libnet-ldap-perl libauthen-pam-perl libpg-perl libconvert-asn1-perl libcrypt-eksblowfish-perl
—————————————————————–
下載OpenWebmail套件:
    wget http://ftp.debian.org/pool/main/libm/libmd5-perl/libmd5-perl_2.03-1_all.deb
    wget http://openwebmail.org/openwebmail/download/debian/owm2.53-2.deb
—————————————————————–
執行下載套件之安裝:
    dpkg -i *.deb
—————————————————————–
更換檔案:  
下載:
wget http://myip.tw/download/auth_unix.pl.zip
解壓縮:
    unzip auth_unix.pl.zip
更換:
    cd /usr/lib/cgi-bin/openwebmail/auth/
    mv auth_unix.pl auth_unix.pl.old
    cp /root/auth_unix.pl ./
    cd
—————————————————————–
執行安裝時 Openwebmail 設定訊息
Send the site report?(Y/n) n
—————————————————————–
網址路徑修正(網址輸入簡便):

    debian:~# cd /var/www/openwebmail/
    debian:/var/www/openwebmail# mv index.html b_index.html
    debian:/var/www/openwebmail# ln -s redirect.html index.html

    檢查/etc/mailname是否為正常的主機名稱?
打開瀏覽器輸入http://你的網址/openwebmail
使用IP分享器內部連線時(例如):

http://192.168.0.3/openwebmail
*****************************************************************
如果您要將Openwebmail 加密的網頁通道(HTTPS; 443)其設定如下:

把 OpenWebmail 納入加密的網頁通道(HTTPS; 443)

把 OpenWebmail 納入加密的網頁通道(HTTPS; 443)最大的好處在於,使用者於公眾網路(餐廳、車站…etc)收發信件時,所有傳輸的封包皆被加密,因此若網段內有人偷裝封包攔截器,也無法直接取得使用者的帳號、密碼及信件內容等個人資料。

為 apache2 建置 ssl 通道

請參考右文: 在Linux 上建立加密網頁通訊

把 OpenWebmail 改為 HTTPS

    編輯 /usr/lib/cgi-bin/openwebmail/openwebmail.pl , 在最上面註解下面, 加上

#
if ($ENV{'HTTPS'} ne 'on') {
   print "Content-type: text/html ";
   print <<HERE;
<html>
<head><meta http-equiv="Refresh" content="0;URL=https://$ENV{'HTTP_HOST'}/cgi-bin/openwebmail/openwebmail.pl">
</head>
<body onload="window.open('https://$ENV{'HTTP_HOST'}/cgi-bin/openwebmail/openwebmail.pl','_top')">
</body>
</html>

HERE

   exit;
}

    本段是說, 若使用者輸入 http://your.host.name/openwebmail/ 強制轉到 https 通道

———————————————————————————

OpenWebmail資安–Fail2Ban

要使用 fail2ban 的原因在於網路上有很多網蟲會使用 network script 不斷的 try OpenWebmail 上使用者密碼,一旦被試中,立即變成垃圾信的跳板。
因此就如同 denyhosts 之於 SSH 服務一樣,可以採用 fail2ban 來防止駭客透過 OpenWebmail 猜使用者密碼。

Fail2ban 是一套使用 Python 開發,並以自由軟體授權(GPLv2)的資安軟體。
它可藉由分析記錄檔,對「猜測密碼」的行為具有一定程度的阻擋作用。因此它適用於 ftp, SSH, mail 等系統。

    官網 http://www.fail2ban.org
    中文文件 http://net.nthu.edu.tw/2009/security:fail2ban

———————————————————————————
作法
 Linux sqz 安裝
        root@dns:~# apt-get update
        root@dns:~# apt-get install fail2ban
—————————————————–
執行 client 程式測試,若可正常跑出使用說明即代表安裝完成
        fail2ban-client -h

—————————————————–
設定

要修改兩個設定檔,一個是 /etc/fail2ban/jail.conf –> 設定要啟用 openwebmail 的防禦;
另一個是配套設定檔 /etc/fail2ban/filter.d/openwebmail-auth.conf ,這裡頭放了過濾的細則。

    編輯 /etc/fail2ban/jail.conf 並修改/新增(紅字部分)部分內容

# 以下這三個參數值,請自行斟酌修改

# 其意義為:在 findtime 秒之內,密碼輸入錯誤高達 maxretry 次以上時,便得阻擋 bantime 秒
bantime = 1200
findtime = 20
maxretry = 5

[openwebmail-auth]

enabled = true
filter = openwebmail-auth
# action 是指:符合狀況時,使用 iptables 來阻擋對方 ip adress
# sendmail-whois 是指:出現任何狀況(啟動/關閉/阻擋)時,皆以 email 通知 admin
action = iptables[name=openwebmail-auth, port=http, protocol=tcp]
      sendmail-whois[name=openwebmail, dest=me@example.com]
logpath = /var/log/openwebmail.log

—————————————————–
    新增 /etc/fail2ban/filter.d/openwebmail-auth.conf

# Author: Cyril Jaquier
# $Revision: 569

[Definition]

# Option: failregex
# Notes.: regex to match the password failure messages in the logfile. The
#         host must be matched by a group named "host". The tag "<HOST>" can
#         be used for standard IP/hostname matching and is only an alias for
#         (?:::f{4,6}:)?(?P<host>S+)
# Values: TEXT
#
failregex = (<HOST>) .* Password incorrect
            (<HOST>) .* no such user

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =

—————————————————–
啟動/關閉

    B2D Server
    由於 B2D Server 必須由原始碼安裝,因此無法套用至 ntsysv 或使用 service 指令來處理。
        啟動
        root@dns~# fail2ban-client start
        關閉
        root@dns~# fail2ban-client stop
        將下面指令寫入 /etc/init.d/rc.local 最後一行即可在開機時自動啟動

strFail2ban=$(netstat -nlp|grep fail2ban.sock)
if [ "$strFail2ban" == "" ]; then
   /usr/bin/fail2ban-client start
fi

   Linux 啟動/關閉
        啟動
        root@dns:~# service fail2ban start
        關閉
        root@dns:~# service fail2ban stop
        永遠啟用,請執行 ntsysv 設定
—————————————————–

Linux Server主機與主機的移轉

本文主要在介紹如何把 Linux 上的資料,含使用者帳號、網頁、資料庫移轉至另一台 Linux Server 上頭。
Linux主機的移轉要掌握以下幾點原則:
要注意原網頁應用軟體之安全性
有些舊的軟體,可能已有漏洞,不要再把舊的版本轉移過來。
在移轉資料的同時,必須要注意,該資料的檔案權限。不要在完成資料移轉之後,一般 user 都「看」不到,只剩 root 一個才看得到。
可在兩台 Linux 之間直接使用 gFtp 軟體,以 SFTP2 (SSH2) 協定、 Root 身份,直接把各種資料從舊機器傳送到新機器上。

Linux主機的MySQL資料庫移轉:
資料庫位置:/var/lib/mysql
/var/lib/mysql/mysql 及 /var/lib/mysql/test 不可搬動
除了上述這兩個資料夾不可搬動外,其餘在 /var/lib/mysql/ 底下的資料夾(資料庫),皆可以搬到新 Linux Server主機的 /var/lib/mysql 底下。
因為 /var/lib/mysql/mysql 是 MySQL 的系統資料庫,它記錄了許許多多 MySQL Server 的設定參數。而且,舊版的 MySQL 與新版的 MySQL ,系統資料庫會有欄位定義上的不同,若您把舊版系統資料庫,直接覆蓋到新版之上,可能會造成 MySQL 啟動失敗。
例外:若是新舊主機的 Linux/LinuxD Server 版本一致,理論上其 MySQL 版本應該也一致,就可以執行以下動作即可
直接把 /var/lib/mysql/ 底下所有資料夾複製到新主機上相同的位置上
不必再動 MySQL 使用者權限的部份
複製到新主機時,要記得把 /var/lib/mysql 底下所有的資料夾(資料庫)權限,改為 mysql.mysql
root@dns:~# chown -R mysql.mysql /var/lib/mysql/*
在 LinuxD 底下可以使用 filezilla 以 SFTP 的協定,直接用 Root 身份進行搬動
root@dns:~# apt-get install filezilla
檢查所有 PHP+MySQL程式碼(如 ANN 公告欄…etc),把所使用到的 MySQL 使用者帳號密碼,新增至新主機的 MySQL 內
使用 phpmyadmin,例: http://Your.ServerName/phpmyadmin
在首頁上點:「權限」 → 「新增使用者」 (新增 MySQL 的使用者)

Linux主機虛擬通道(PPTP VPN)(Linux主機伺服器架設技術)

用 Linux 建立虛擬通道(PPTP VPN),供公司外部的 IP 與主機建立專用通道,再以此通道對外連線。
其運作原理如下,pptpd 提供使用撥接進入的通道, iptables 提供 route 出去的路由。

Linux pptp設定

    * 安裝 pptp
      root@Linux:# apt-get update
      root@Linux:# apt-get install pptpd
    * 修改 /etc/pptpd.conf
      root@Linux:# vi /etc/pptpd.conf (確保您的設定檔內, 有以下參數設定)

option /etc/ppp/pptpd-options
logwtmp

#撥接進入時, vpn server 的 ip address
localip 192.168.0.1
#撥接進入時, 可配發的 ip address (與 dhcp 無關)
remoteip 192.168.0.10-20

    * 修改 /etc/ppp/pptpd-options
      root@Linux:# vi /etc/ppp/pptpd-options

# name 參數與 client 端設定有關
name myvpn_name

refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128

# 配送 ip address 給 client 時, 指定 DNS Server IP 位置供 client 使用
ms-dns 168.95.1.1
ms-dns 168.95.192.1

proxyarp

# Debian: do not replace the default route
nodefaultroute

lock
nobsdcomp

    * 建立可撥入的帳號密碼, 修改 /etc/ppp/chap-secrets
      root@Linux:# vi /etc/ppp/chap-secrets

# client         server         secret              IP addresses
username         myvpn_name     自訂password         *

#IP address 使用 "*" 代表不限制這個帳號所撥入的 ip 位置

    * 啟動 pptpd
          o 手動啟動: root@Linux:# service pptpd restart
          o 開機自動啟動: 使用 ntsysv 設定

    * 至此, 您可以由 winxp 試著撥入, 應已可以取得一個 192.168.0.10-20 的 IP 位置。不過您也會發現,怎麼無法上網? 原因是, 您的網路封包皆已導向 vpn server , 若 vpn server 不給上, 您反而無法上網。因此, 接下來, 必須修改 /etc/rc.local 的 iptables 規則列, 來解決此一問題。

Linux iptables設定

    * 修改 /etc/rc.local
      root@Linux:# vi /etc/rc.local

# 打開 forward, 找到下面這一行, 去除 #
echo "1" > /proc/sys/net/ipv4/ip_forward

#在 $IPTABLES -P FORWARD ACCEPT 這一行的下方, 加入以下數行
###—————————————————–###
# 啟動 VPN 內部對外轉址
###—————————————————–###
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT

# 注意: ppp0 這網卡代號可能因 pptpd 軟體而異,請下指令 ifconfig 查詢正確代號
# ——————————————————###

#在此區塊底下加上 vpn 連線限制
###—————————————————–###
# 拒絕外部 IP 連至內部 port 號
###—————————————————–###

###————————————————————–###
# 限制外面取用 VPN 連線, ex: 只開放 220.130.230.77及 163.26.182.0/24 撥入
###————————————————————–###
$IPTABLES -A INPUT -p tcp -s 220.130.230.77 –dport 1723 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 163.26.182.0/24 –dport 1723 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s 127.0.0.1 –dport 1723 -j ACCEPT
$IPTABLES -A INPUT -p tcp –dport 1723 -j DROP

    * 啟用新規則列
      root@Linux:# service rc.local start

網友的電腦最基本的用途就是:上網!
然而微軟公司發布有關「視窗」作業系統的重大安全瑕疵警告
新發現的「視窗」作業系統瑕疵,可能被駭客用來盜取個人資料或接管電腦。
還是別再用Internet Explorer瀏覽器了吧!
換用FireFox、Google Chrome和Safari的瀏覽器(一樣不用花錢購買,免費!)
何必因為作業系統是:微軟Windows就一定要用Internet Explorer瀏覽器?


以下是今天新聞的全文引用:
——————————————————–

微軟視窗瑕疵 9億用戶遭殃
聯合 更新日期:"2011/02/02 10:26" 編譯田思怡/報導

微軟公司發布有關「視窗」作業系統的重大安全瑕疵警告,將影響全球9億Internet Explorer瀏覽器的用戶。

微軟表示,新發現的「視窗」作業系統瑕疵,可能被駭客用來盜取個人資料或接管電腦。

這個瑕疵很嚴重,可能影響所有Internet Explorer用戶。在找出永久解決辦法前,微軟建議用戶下載安全更新(security patch)。

FireFox、Google Chrome和Safari並未受到影響,這些軟體和Internet Explorer不同,並不支持MHTML檔,而這也正是問題所在。

這個安全漏洞只會影響Internet Explorer對一些網頁的處理方式。