在 Debain 系列的話(Ubuntu 也適用)
要用 /etc/rcS.d 來開機時啟動腳本
因為 /etc/rc.local 貌似沒有作用
放在這個 /etc/rcS.d 目錄中的腳本,開機時會被自動執行
/etc/rcS.d 通常不直接放腳本,只放軟連結
----------------------------------------
1.
寫好的防火牆腳本,放在 /etc/init.d
(或者其它地方也可以,例如 /usr/local/bin,反正記得放在哪就 ok 了)
給予該腳本檔執行權限
sudo chmod 755 檔名.sh
2.
在 /etc/rcS.d 中加入軟連結
假設防火牆腳本的檔名是:firewall.sh
指令:
cd /etc/rcS.d
sudo ln -s ../init.d/firewall.sh S100firewall.sh
ln 軟連結的語法:
ln -s [來源檔] [軟連結名稱]
如果腳本是放在 /etc/init.d 建議用相對路徑
放其它地方的話,可用絕對路徑
說明:
rcS.d 目錄中,只有大寫 S 開頭的檔案,會被執行
檔名 S 後面的號碼,是執行的優先順序
開機時會從號碼最小的開始,依照號碼順序執行各個腳本檔
S100 只是個範例,可以隨高興自取號碼
不過防火牆腳本建議在 network 服務啟動後才執行
可以觀察 /etc/rcS.d 這目錄的其餘檔案
由檔案的名稱,多半可猜出是什麼用途
保險起見,就取 S100,讓防火牆腳本在最後才執行