Linux 系統預設允許回應 ping, 但有時允許回應 ping 會為伺服器帶來安全問題, 在 Linux 要禁止 ping 回應, 可以用以下兩個方法實現: 1. 修改 Linux 核心參數 以下方法是透過修改檔案 /proc/sys/net/ipv4/icmp_echo_ignore_all, 預設值是 0, 改為 1 便會禁止 ping: # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all …
GRUB2 是 RHEL 7 及 CentOS 7 的預設 Boot Loader, 以下會介紹修改 GRUB2 的開機選單排序以及 Timeout 時間的方法。 列出 GRUB2 開機選單項目: # grep “^menuentry” /boot/grub2/grub.cfg | cut -d “‘” -f2 返回的結果會是開機時看到的選單內容, 例如: …
在寫 Shell Script 時,有時需要取得路徑的目錄或檔案名稱,這時可以借助 dirname 及 basename,例如:
Qmail 需要透過 daemontools 啟動, 近來在 CentOS 7 安裝新的 Qmail 系統, Qmail 開機在後不能自動啟動, 需要手動執行 “svscanboot &” , 再執行 “qmailctl start” 才可以正常啟動, 不能啟動的原因是 daemontools 沒有啟動。 要在 RHEL 及 CentOS 7 設定 …
以下會記錄在 RHEL 及 CentOS 7 安裝及設定 Apache mod_ssl 的的方法, 以下假設已經使用 YUM 安裝好 Apache, 並會示範安裝自簽憑證及 CA 發行感證的步驟。 首先用 YUM 安裝 mod_ssl: # yum install mod_ssl 安裝好 mod_ssl 後, 系統會自動建立 Apache …
用 Qmail 發信到某些電郵伺服器時, 退回的 failure notice 出現 TLS connect failed 錯誤, 詳細報錯: TLS connect failed; connected to xxx.xxx.xxx.xxx. 上面的 xxx.xxx.xxx.xxx 是遠端電郵伺服器的 IP 地址。 解決方法是與遠端電郵伺服器連接時, 不使用 TLS 連線, 例如遠端電郵的域名是 remote-domain.com, …
在 PHP 要判斷字串是否有中文,可以用 mb_strlen() 及 strlen() 兩個函式實現。strlen() 會回傳字串的長度,但如果是中文, 日文及韓文等文字,會回傳較長的結果。而 mb_strlen() 則可以加入編碼,例如 UTF-8 及 BIG5 等,讓 PHP 自動判斷字串的長度,只要比對 mb_strlen() 及 strlen() 回傳的字串長度,如果相同,即表示沒有中文字在字串內,如果不相同,那便表示有中、日、韓等亞洲文字存在,例如: 上面 mb_strlen() 設定了字串為 UTF-8 編碼,如果是 BIG5 編碼,則要改成 BIG5, …
當發現系統變慢時, 可以先找出佔用最多系統資源的 process, 以下會介紹用 ps 指令找出佔用最多記憶體, CPU 資源的 process。 ps 指令 用 ps 指令, 配合 sort 及 head 指令, 可以將佔用 CPU 資源的 process 順序列出: # ps aux | sort …
Apache 內建了限制 IP 存取的功能, 可以設定成禁止某些 IP 不能存問, 或者只允許特定 IP 存取, 以下會以 Apache 2.4 為例, 設定 Apache 的存取限制。 以下假設 /var/www/html/members 目錄, 只允許特定 IP (192.168.1.100 及 192.168.1.101) 存取, 可以透過修改 httpd.conf 或 …
在 Linux 下用 find 搜尋檔案很好用, 當加入 -name 參數時, 只可以對單一檔名或副檔案進行搜尋, 以下會示範用上 -o 參數, 進行多個檔名或副檔名的操作。 例如想搜尋在 /var/www/html 目錄下, 所有 .php 及 .txt 副檔名的檔案: # find /var/www/html -type f \( -name “*.php” …