Tag: Linux
iostat 是檢視 block devices I/O 統計資料的工具,對於監測硬碟工作狀態、檢查效能瓶頸及硬碟工作狀況十分有用。以下是在 Ubuntu 22.04 LTS 安裝 iostat 的方法及使用。 iostat 預設已經放在 Ubuntu 的 base repository 的 stsstat 套件內,執行以下指令安裝: $ sudo apt install sysstat 執行以上指令安裝 iostat 後便可以使用,以下是 …
一個網域下會建立副域名很常見, 只要建立 A record 或 CNAME record 即可。另一個情況是對 subdomain 建立 MX 及 TXT 紀錄, 例如網域是 mydomain.ltd, 分別想建立 @local.mydomain.ltd 及 @member.mydomain.ltd 的電郵。 除非有其他原因, 否則便不用額外建立一個 subdomain 的 zone, 可以在原來網域的 zone 內加入相關 …
在寫 Shell Script 時, 有時需要建立臨時檔案, 很多時會用 temp 或 tmp 這類副檔名實現。但如果這些檔案名稱和其他 process 的臨時檔案名稱相同, 便會錯誤地覆寫其他臨時檔案的內容。 在 Linux 系統可以用 mktemp 工具, 它可以很簡單地建立, 使用及移除不會重覆檔名的臨時檔案。 執行 mktemp 時, 它們預設會出檔案名稱及路徑: $ mktemp /tmp/tmp.94uGx1HYiS 如果沒有指定路徑, 臨時檔案的的位置是 …
在 UNIX Like 的環境要轉換文字編碼, 一般會使用 iconv 指令, iconv 已經內建在很多發行版, 使用起來也很方便。 把 BIG-5 及 UTF-8 互換十分常見, 以下是具體的操作方法: BIG-5 轉 UTF-8 編碼 $ iconv -f BIG-5 -t UTF-8 old-big5.txt > new-utf8.txt …
LAMP 是 Linux + Apache + MySQL + PHP 的縮寫, 但從 RHEL / CentOS 7 開始已經不會內置 MySQL, 改為使用 MariaDB, MariaDB 使用上與 MySQL 相同, 舊有的 MySQL 資料庫也可以直接升級使用, 這裡也會示範在 Rocky Linux …
Fail2Ban 是阻擋暴力攻擊的工具,例如發現指定次數的登入失敗後,會自動把遠端的 IP 地址封鎖,在設定的時間過後才會對封鎖的 IP 開放。Fail2Ban 的用途非常廣泛,除了一般的 SSH 登入及電郵登入外,也可以對一些針對網頁的攻擊進行封鎖。 但如果網頁使用了 CloudFlare 的話,那 Fail2Ban 只會封鎖 CloudFlare 的 IP,而 CloudFlare 的那麼多,很多時即使封鎖了幾個 IP,攻擊者還是可以繼續進行攻擊及掃描漏洞。 要解決這個問題,可以使用 CloudFlare 的 API,在 Fail2Ban 設定把要封鎖的 IP 傳送給 CloudFlare,在 …
以前也看過用 root 錯誤執行 “rm -rf /*” 時, 系統會有一些保護措施, 但未有提到 “rm -f /*”, 一直也未試過, 今天在一台沒有什麼用途的 VPS 上面試試執行, 系統是 CentOS 7. 用 su – 進入 root 身份後, 執行 rm -f /* …
Quota 是用作限制使用者或群組使用的碟硬空間, 如果沒有設定 Quota 限制, 使用者可以無上限地儲使用硬碟空間。以下是在 Ubuntu 20.04 設定 Quota 的步驟。 在設定使用者的 Quota 前, 需要先安裝 quota 套件, 可以用 apt 安裝: $ sudo apt install quota 然後檢查 Ubuntu 的 kernel …
Log4j 是很嚴重的安裝漏洞, 影響也很廣泛, 駭客可以透過 Log4j 漏洞執行指令, Log4j 漏洞在 CVSS 評分高達 10.0, 所以十分值得關注。本文會講述測試系統是否存在 Log4j 漏洞的方法。 已經有人寫了在 Linux 檢查 Log4j 漏洞的 Shell Script,雖然目前還是 beta 版, 不保證有 100% 檢測成功率, 因為這個 Shell Script …
dd 是十分實用的 Linux / Unix 小工具, 它可以轉換及複製檔案。dd 指令可以 clone 硬碟, 備份及復原原始設備檔案等。以下文章會介紹 dd 的常用例子。 dd 使用方法很簡單, 預設會讀取 stdin 及寫入 stdout,如果要指定讀取及寫入的檔案, 使用 “if” 及 “of” 選項。以下是 dd 常見的使用例子, 使用 dd 備份硬碟的 …