在 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,讓防火牆腳本在最後才執行

點閱: 41

By admin

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料