Author: Sam Tang

Linux 開機流程簡介

了解 Linux 的開機流程, 對於系統管理員十分重要, 當系統發生問題時, 可以更有效除錯, 以下文章會簡單介紹 Linux 開機的流程, 而 Linux 開機的流程主要會經過以下 6 個步驟:1 .BIOS 2. MBR 3. GRUB 4. Kernel 5. Init 6. Runlevel Scripts1. BIOS 當按下電源按鈕後, 最先載入的是 BIOS, …

MySQL 完整複製資料表

當需要將 MySQL 資料表完整複製時, 如果資料表是使用 MyISAM 儲存引擎, 可以直接停止 MySQL 伺服器, 再將資料表的 .MYD 及 MYI 檔案複製。但如果資料表是 InnoDB, 或者不想停止 MySQL 運作, 除了用傳統的備份方法外, MySQL 已經內建了複製的功能, 具體做法如下。假設舊資料表是 old_table, 新資料表是 new_table, 可以執行以下 SQL Query:用這種方法複製的資料表, 會將資料表結構, 資料及 …

Apache 設定忽略檔案字母大小寫

在 Unix Like 的作業系統, 檔案及目錄名稱的英文字母大小寫有分別, 而在 Windows 內則沒有分別, 所以有些網頁放在 Windows 主機上可以正常瀏覽, 而放到 Linux 上便會出現連結失效, 或者圖片, CSS, Javascript 不能載入等問題。例如這樣一個超連結:〈a href=’Filename.htm’〉links〈/a〉在 Windows 下, 只要檔案符合連結內的字母, 不會區分大小寫, 所以如果檔案名稱是 “filename.htm” 可以正確瀏覽, 而在 Linux 下相同情況便會出現連結失效。如果未能將網頁內容一一修正, 可以設定 …

刪除不小心解壓的 tar 檔案

在 CLI 如果解壓解縮檔時,如果不小心將壓縮檔解壓到工作目錄,例如 /var/www/html,將目錄變得很凌亂,除了逐個檔案檢視並刪除,更有效的方法是用指令自動刪除, 以下是指令例子:以上指令會將不小心解壓的 /path/to/file.tar.gz 檔案內容刪除。

Linux 用 netstat 偵測 DDOS 攻擊

當主機回應很慢時,除了可能是因為系統的負荷過大,或者系統設定錯誤外,另一個可能性是遭受 DDOS 攻擊。對於小規模 DDOS 攻擊, 使用 Linux 內建的工具偵測來源 IP 及阻擋可以達到一定的效果, 以下會示範用 netstat 及其他 Linux 內建指令,檢測系統是否遭受 DDOS 攻擊。用 netstat 列出所有連線, 可以用以下指令:以上指令列出相當多的連線, 我們先用 grep 過濾出我們想要的資訊, 然後用 sort 將 ip 排序, 例如我想查看 port …

2016 年最常用密碼

密碼管理機構 “Keeper Security” 剛發佈了 2016 年度最常用密碼,不出所料,很多 “熱門密碼” 都榜上有名,包括 “123456” 及 “password” 等,但有幾個是原先沒有想到的。以下是最常用的 25 個密碼,如果各位正在使用這些密碼,請務必䀆快修改;另外系統管理員也最好禁止使用者用這些密碼:123456 123456789 qwerty 12345678 111111 1234567890 1234567 password 123123 987654321 qwertyuiop mynoob 123321 666666 18atcskd2w 7777777 1q2w3e4r …

Linux 檢查密碼強度工具 — cracklib

要檢查密碼的強度, 單純以密碼長度及是否包含英文字母, 數字並不足夠, 例如 “abcd1234” 便是 8 個位, 包含字母及數字的密碼, 但這個密碼很簡單。cracklib 就是一套檢查密碼強度的工具, 以下是 cracklib 的安裝及使用方法。在 Redhat 及 Debian 系列的發行版, 安裝 cracklib 都很方便:RHEL / CentOS / Fedora: # yum install cracklib Debian …

sed 刪除包含 keywords 的整行資料

sed 除了可以對檔案內的 keyword 做 search & replace 外, 也可以將包含有 keyword 的整行刪除, 語法是:以上指令會對 filename 逐行搜索, 並將有 “keyword” 的整行刪除。另一個情況是想將兩個 keywords 中間的整行資料刪除, 語法可以改成這樣:以上指令會在 filename 內, 將有 “keyword-1” 及 “keyword-2” 的資料整行刪除。

Apache 動態管理 VirtualHost

VirtualHost 可以讓多個網站在一台主機上運行, 一般上每個 VirtualHost 都需要加入一段 “ “, 然後設定 ServerName, ServerAlias 及 DocumentRoot, 例如有兩個網址, 分別是 www.mydomain.com 及 blog.mydomain.com, 在 httpd.conf 部份要加入類似這樣的設定:另一種方法是動態設定 VirtualHost, 以上面的例子, 可以用一段 設定。首先開啟 httpd.conf: # vi /etc/httpd/conf/httpd.conf 將上面兩個 VirtualHost …

MySQL 換算 Unix Timestamp 日期時間

在多時寫程式都會用 Unix Timestamp 儲存時間,好處是可以很簡單作日期計算,以及用不同格式顯示日期。以前儲存在 MySQL 的日期時間,會擷取後用 PHP 的 date() 函式顯示,但 MySQL 已經內置了用作換算 Unix Timestamp 的功能,用起來很方便,以下記錄一下用法。UNIX_TIMESTAMP() — 取得目錄 Unix Timestamp:以前習慣在 PHP 用 time() 函式插入 Unix Timestamp 到 MySQL,在 SQL Query 裡面用 …