要作 Startup Item 可以直接在 /Library/StartupItems/ 開一個自己要的目錄,然後在裡面寫一個 Script 和一個 StartupParameters.plist 檔案就可以了。
以下是我作的:
代碼: 選擇全部
$ mkdir /Library/StartupItems/Firewall
$ vi /Library/StartupItems/StartupParameters.plistStartupParameters.plist 長成這樣 (說明:NetworkExtensions 一定要在 ipfw 指令以前就要完成,沒有完成的話 ipfw 不會動。)
代碼: 選擇全部
{
Description = "Customized Firewall Rules";
Provides = ("Firewall");
Requires = ("NetworkExtensions");
OrderPreference = "None";
Messages =
{
start = "Starting Customized Firewall Rules.....";
stop = "Stopping Customized Firewall Rules.....";
};
}代碼: 選擇全部
$ vi /Library/StartupItems/Firewall/Firewall代碼: 選擇全部
#!/bin/sh
. /etc/rc.common
IPFW=/sbin/ipfw
StartService ()
{
ConsoleMessage "Setting Customized Firewall Rules"
ConsoleMessage " Prevent from receiving anything from other office at udp port 2222."
${IPFW} add deny udp from any to any 2222 via en*
ConsoleMessage " Prevent Microsoft Office's piracy detection mechanism from broadcasting product IDs and access information through a random tcp port greater than 3000 (the ones we saw were all in the range 3000 to 3999) to local subnet."
${IPFW} add deny tcp from any to any 3000-3999 in recv en* setup
ConsoleMessage -S
}
StopService ()
{
ConsoleMessage "Flushing Customized Firewall Rules"
${IPFW} -f flush
}
RestartService ()
{
ConsoleMessage "Using New Customized Firewall Rules"
StopService
StartService
}
RunService "$1"代碼: 選擇全部
$ chmod +x /Library/StartupItems/Firewall/Firewall 當然也可以用 root 權限啟動
代碼: 選擇全部
$ sudo /sbin/SystemStarter start "Firewall"代碼: 選擇全部
$ sudo /sbin/SystemStarter stop "Firewall"