Author: Sam Tang

手動解除 Fail2ban 封鎖的 IP

Fail2ban 是十分好用的防禦暴力破解攻擊的工具, 將 Fail2ban 封鎖的 IP 解除封鎖, 只要使用 Fail2ban 內建的 fail2ban-client 即可完成。首先用 iptables 檢視被封鎖的 ip: # iptables -nvL 然後要知道被封鎖的 IP 被 Fail2ban 那一個 Jail 封鎖, 因為主機內可以設定了多個 Fail2ban jail, 用以下指令列出所有 jail: …

Gmail, Yahoo! Mail, Hotmail 發送電郵限制

目前最受歡迎的免費電郵服務分別是 Gmail, Yahoo! Mail 及 Hotmail, 它們都提供用戶在 Webmail 介面, 或電郵軟體發送電郵, 而各電郵供應商都會設定發送郵件限制, 以防止用戶濫發垃圾郵件, 以下紀錄一下各電郵供應商的發郵電郵限制。Gmail:— 發送電郵限制: 透過 gmail.com 介面, 每日發出電郵給最多 500 個收件者, 透過電郵軟體使用 gmail 的 SMTP, 最多 100 個收件者。另外每小時限制最多發出 20 封電郵。 — …

“> /dev/null 2>&1” 的意思

在 Unix Like 環境下用 crontab 排程執行指令或 Shell Script 時, 很多時最後都會加上 “> /dev/null 2>&1”, 例如: * * * * * /path/to/my-script.sh > /dev/null 2>&1 以下是對 “> /dev/null 2>&1” 分拆的解釋:>: 是重新導向, 例如將指令的執行結果寫入到檔案, …

Ubuntu DNS 網路設定

一般上在 Linux 下要設定 DNS 伺服器, 只要修改 /etc/reslov.conf 檔案便可以, 但在 Ubuntu 開啟 /etc/reslov.conf 時, 卻出現用註解表示的警告:那便表示不可以直接改 /etc/resolv.conf, 因為 Ubuntu 每次開機都會會將修改的內容覆蓋, 要使修改永久生效, 需要修改檔案 /etc/network/interfaces, 先開啟 /etc/network/interfaces: $ sudo vi /etc/network/interfaces 加入以下一行設定 DNS Server, …

強制 PHP 顯示錯誤訊息

很多主機基於保安理由, 將 PHP 執行時的錯誤訊息隱藏, 當 PHP 程式執行時遇到錯誤, 即使是 run time error 這類錯誤, 都只會顯示空白內容。原因是在 php.ini 設定了這兩行:display_errors = Off error_reporting = Off上面兩個設定, 只要其中其中一個設定成 Off, 都不會顯示錯誤訊息, 這樣對於程式除錯很麻煩, 要暫時顯示 PHP 的錯誤訊息方便除錯, 分別可以修改 PHP 及 …

禁止個別 VirtualHost 或目錄使用 PHP mail() 函式

PHP 的 disable_functions 選項可以停用某些特定的 PHP 函式, 主要是基於安全理由, 將一些對系統有威脅的函式停用, 但 disable_functions 必須透過 php.ini 設定, 因為如果可以在 httpd.conf 或 .htaccess 設定, 使用者便很容易將停用的函式開啟。之前遇到一個情況, 要將個別 VirtualHost 的 mail() 函式停用, 但主機內其他 VirtualHost 仍要繼續開啟 mail()。雖然 disable_functions 不能在 …

個別 VirtualHost 或目錄停用 PHP

在 Linux 安裝 Apache 及 PHP 後, 可以按需要設定個別 VirtualHost 或目錄停用 VirtualHost, 例如一個只用作儲存上載圖片的目錄, 不需要執行 PHP 的權限, 以下的設定方法。VirtualHost 停用 PHP: 首先開啟儲存 VirtualHost 的檔案, RHEL 及 CentOS 是 /etc/httpd/conf/httpd.conf, 而 Debian 及 Ubuntu …

安裝 ChangePassword 線上修改系統密碼工具

ChangePassword 是一個讓用戶線上修改系統密碼的小工具, 它是由 C 寫成的 CGI, 除了修改系統密碼外, 還未援線上修改 Samba 及 Squid 的密碼。雖然介面看上去很簡單, 但對只想給用戶修改密碼很實用, 以下是安裝方法。1. ChangePassword 只提供源始碼, 所以要先安裝 GCC:RHEL / CentOS: # yum group install “Development Tools” Debian / Ubuntu: $ …

grep 過濾 “#” 及 “;” 的註解行

很多設定檔的註解, 都會以 “#” 或 “;” 開頭, 例如以 Apache 設定檔 httpd.conf 為例, 我的 httpd.conf 有接近四百行: # wc -l httpd.conf 397 httpd.conf 想把註解過濾, 只顯示實際的設定項目, 可以用 grep 過濾以下的行:— 空白行, 即沒有任何內容 — 以 “#” …