当前位置:Linux教程 - Linux - 设置Unix启动密码

设置Unix启动密码



        

    在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 \ 系
    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 \ \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秒),更能获得动态的效果!

    发布人:netbull 来自:非常Linux