在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 33[09;18h 系
setcolor -b black -k lt_cyan
echo 33[09;25h 统
setcolor -b black -k lt_magenta
echo 33[09;32h 启
setcolor -b black -k hi_white
echo 33[09;39h 动
setcolor -b black -k yellow
echo 33[09;46h 完
setcolor -b black -k lt_green
echo 33[09;53h 毕
setcolor -b black -k white
echo nnnnnnnnnnnn
echo ┏━━━━━━━━━━━━━━━━━┓
echo ┃ 欢 迎 您 使 用 unix ┃
echo ┗━━━━━━━━━━━━━━━━━┛
echo "33[17;15h 请输入密码:[****] "
setcolor -b black -k black
echo "33[17;42hc"
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 "07"
echo "33[20;1h"
setcolor -b black -k lt_red
echo "07ttt 密码错误!!!,请重新输入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秒),更能获得动态的效果!
文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




