QMail 新增額外 SMTP Port

現在很多 ISP 也會將用戶的 port 25 封鎖,只容許用戶使用 ISP 提供的 smtp server。如果想架一台 smtp server 給被封鎖 port 25 的用戶使用,可以在 email server 多開一個 port 作為與用戶的連線,只要用戶在電郵軟件修改 smtp port 便可以,以下是在 QMail 設定多一個 port 的方法:假設要開啟的 port 為 …

Apache 防止 DDoS 攻擊

DDoS (distributed denial-of-service) 及 DoS (denial-of-service) 在網路上十分常見,而 DoS 攻擊所傳送的請求跟正常的請求一樣,分別在於每秒鐘發出大量請求到伺服器,使伺服器的負載增加,最常見的情況是伺服器暫停服務。而 mod_evasive 則是一個預防 Apache 遭受 DDos 攻擊的模組,可以防止同一個 IP 對相同 URI 發出的大量請求,可設定的選項有:– 限制同一個 IP 在一定秒數內請求一個頁面或檔案的次數。 – 限制同一個 IP 一秒內只可發出 50 個請求。 – 設定被禁止的 …

實用 crontab 寫法

本站另一篇文章 Unix Crontab 簡介 介紹了 Crontab 的用法,今天發現了一個實用的寫法:@daily /usr/local/www/awstats/cgi-bin/awstats.sh以上用 @daily 語法,便會在每天零時零分執行,以下是其他用法:@reboot: 在每次開機時執行。 @yearly: 等同 0 0 1 1 * 寫法,即每年一月一日零時零分。 @annually: 與 @yearly 相同。 @monthly: 在每月一號零時零分執行。 @weekly: 在星期天零時零分執行。 Run once a …

Linux 的搜尋技巧

在檔案內搜尋指定文字,search_key 是搜尋字串,/path/to/filename 是檔案名稱: grep search_key /path/to/filename功能同上,但不分大小寫: grep -i search_key /path/to/filename搜尋檔案:在指定目錄中搜尋檔案,以下是在 /var/www/ 目錄下搜尋 upload.php 的檔案: find /var/www/ -name upload.php功能同上,但目標不是檔案,而是目錄: find /var/www/ -name uploads -type d還有更多有用的功能,以上只列出較常用的用法。

刪除 Qmail queue 內的郵件

在 sendmail 要刪除在 queue 內的郵件很簡單,只需直接在 /var/spool/mqueue 下面刪除就好,但在 Qmail 就較麻煩,執行以下指令會刪除 queue 內所有郵件:qmailctl stop find /var/qmail/queue/mess -type f -exec rm {} ; find /var/qmail/queue/info -type f -exec rm {} ; find /var/qmail/queue/local …

Sed 做 Search & replace

在本站另一篇文章介紹了用 Perl 來做 search and replace,而用 sed 也可以做到相同效果,語法為:sed -i ‘s/src_str/new_str/g’ filename以上指令會將 filename 檔案內的 src_str 替換成 new_str。

Qmail 使用 RBL 過濾垃圾郵件

有些機構提供 RBL (Remote Black Lists) 供 Email Server 阻檔垃圾電郵,這些 RBL 的好處是不用在本機加入大量 spam rules,而且免除更新的程序。在 QMail Scanner 配合 RBL 使用後,系統發現郵件符合 RBL 規則,那便不會接收該郵件,並把紀錄寫入 /var/log/qmail/smtpd/current 內。以下是在 QMail Scanner 加入支援 RBL 的方法:1. 開啟 /var/qmail/supervise/qmail-smtpd/run 檔案2. …

MySQL 重設 root 忘記密碼

如果忘記了 MySQL 的 root 密碼,可以用以下方法重新設定:1. 關閉 MySQL 伺服器。2. 用以下指令啟動 MySQL,以跳過檢查權限的資料表mysqld_safe –skip-grant-tables & update mysql.user set password=PASSWORD(“new_password”) where User=’root’; mysql> flush privileges; mysql> quit5. 最後只需重新啟動 MySQL,便可以用新設定的密碼進入了。

Unix Crontab

Crontab 是在 Unix Like 系統下設定排程自動執行的工具,最常用到的地方是備份。而 crontab 有 4 個不同的參數,作用分別是:crontab -e 編輯 crontab 檔案,如果檔案不存在則會自動建立。 crontab -l 顯示 crontab 檔案內容。 crontab -r 刪除 crontab 檔案。 crontab -v 顯示上一次編輯 crontab 的時間,但不是所有系統適用。編輯 crontab 在指令模式輸入 …