設置Unix啓動密碼

在DOS和WINDOWS98系統中設置啓動密碼已經有很多方法和現成的軟件可用了,但是,在UNIX系統中,有沒有一種方法可以設置啓動密碼呢?下面的一個SHELL小程序,可以實現在系統啓動過程中加以密碼限制,即使啓動了機器,在輸入密碼之前,也不能使系統出現LOGIN的提示符。

這個小程序是加載在/etc/rc2文件中的rc2文件是unix系統在啓動過程中調用的一個shell文件,我們在最後加入如下內容,就可實現啓動密碼的限制了。程序如下:


在/etc/rc2文件中尋找下面這句話

if [ "" = "yes" -a "" = "2" ]
then
# dspmsg -s 'The System is Ready ! '
找到後
屏蔽上面這句話,之後加入下面這個程序:
# 循環開始
while true
do
clear
setcolor -b black -k lt_red
echo '[09;18H 系'
setcolor -b black -k lt_cyan
echo '[09;25H 統'
setcolor -b black -k lt_magenta
echo '[09;32H 啓'
setcolor -b black -k hi_white
echo '[09;39H 動'
setcolor -b black -k yellow
echo '[09;46H 完'
setcolor -b black -k lt_green
echo '[09;53H 畢'
setcolor -b black -k white
echo ' '
echo ' ┏━━━━━━━━━━━━━━━━━┓'
echo ' ┃ 歡 迎 您 使 用 UNIX ┃'
echo ' ┗━━━━━━━━━━━━━━━━━┛'
echo "[17;15H 請輸入密碼:[****] "
setcolor -b black -k black
echo "[17;42H|SINA>DOUBLE_QUOTATION
read ch
setcolor -b black -k white
# 在上面的兩個setcolor語句中,可以使鍵入的密碼不回顯
case in

# 以下括號內爲啓動密碼
2015)
setcolor -b black -k lt_green
echo " "
echo " "
echo "密碼正確,請使用本系統."
setcolor -b black -k white
break
;;
*)
echo " "
echo " [20;1H"
setcolor -b black -k lt_red
echo "  密碼錯誤!!!,請重新輸入|SINA>DOUBLE_QUOTATION
setcolor -b black -k white
read s
;;

esac
done
# 循環結束

elif [ "" = "2" ]
then
dspmsg -s 'Change to state 2 has been completed. '
fi
如果在while循環中,每一條setcolor語句下面加如sleep 1(延遲1秒),更能獲得動態的效果!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章