首页 > 编程开发 > Shell > 正文  
设置Unix启动密码
出自:http://go3.163.com/~axiom999 2002年02月05日 15:03
在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 ' 系'
setcolor -b black -k lt_cyan
echo ' 统'
setcolor -b black -k lt_magenta
echo ' 启'
setcolor -b black -k hi_white
echo ' 动'
setcolor -b black -k yellow
echo ' 完'
setcolor -b black -k lt_green
echo ' 毕'
setcolor -b black -k white
echo ' '
echo ' ┏━━━━━━━━━━━━━━━━━┓'
echo ' ┃ 欢 迎 您 使 用 UNIX ┃'
echo ' ┗━━━━━━━━━━━━━━━━━┛'
echo " 请输入密码:[****] "
setcolor -b black -k black
echo "|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 ""
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秒),更能获得动态
的效果!
】【http://www.trainlinux.com】【Close
『相关资料』
Shell 递归程序设计-批量转换大写文件名为小写 (2002-02-05 15:02)
shell实现Unix进程间信息交换的几种方法 (2002-02-04 15:02)
介绍B-SHELL的一些运用方法 (2002-02-04 15:02)
shell编程例子 -- 一个简单的目录菜单 (2002-02-04 15:01)
Home 

诚恩Linux培训工作室