在DOS和WINDOWS98系統中設置啟動密碼已經有很多方法和現成的軟件可用了,但是,在UNIX系統中,有沒有一種方法可以設置啟動密碼呢?下面我自編了一個SHELL小程序,可以實現在系統啟動過程中加以密碼限制,即使啟動了機器,在輸入密碼之前,也不能使系統出現LOGIN的提示符。 這個小程序是加載在/etc/rc2文件中的,rc2文件是unix系統在啟動過程中調用的一個shell文件,我們在最後加入如下內容,就可實現啟動密碼的限制了。程序如下: 在/etc/rc2文件中尋找下面這句話 if [ "${BOOT}" = "yes" -a "$7" = "2" ] then # dspmsg $MF_RC -s $MS_RC2 $RC2_READY 'The System is Ready ! \n' 找到後 屏蔽上面這句話,之後加入下面這個程序: # 循環開始 while true do clear setcolor -b black -k lt_red echo '\033[09;18H 系' setcolor -b black -k lt_cyan echo '\033[09;25H 統' setcolor -b black -k lt_magenta echo '\033[09;32H 啟' setcolor -b black -k hi_white echo '\033[09;39H 動' setcolor -b black -k yellow echo '\033[09;46H 完' setcolor -b black -k lt_green echo '\033[09;53H 畢' setcolor -b black -k white echo '\n\n\n\n\n\n\n\n\n\n\n\n\n' echo ' ┏━━━━━━━━━━━━━━━━━┓' echo ' ┃ 歡 迎 您 使 用 UNIX ┃' echo ' ┗━━━━━━━━━━━━━━━━━┛' echo "\033[17;15H 請輸入密碼:[****] " setcolor -b black -k black echo "\033[17;42H\c" read ch setcolor -b black -k white # 在上面的兩個setcolor語句中,可以使鍵入的密碼不回顯 case $ch in # 以下括號內為啟動密碼 2015) setcolor -b black -k lt_green echo " " echo " " echo "密碼正確,請使用本系統." setcolor -b black -k white break ;; *) echo "\007" echo "\033[20;1H" setcolor -b black -k lt_red echo "\007\t\t\t 密碼錯誤!!!,請重新輸入\c" setcolor -b black -k white read s ;; esac done # 循環結束 elif [ "$7" = "2" ] then dspmsg $MF_RC -s $MS_RC2 $RC2_COMPLETE 'Change to state 2 has been completed.\n' fi 如果在while循環中,每一條setcolor語句下面加如sleep 1(延遲1秒),更能獲得動態的效果!