描述:若用戶希望鎖定對終端的訪問,但不想退出並再次登錄,則可以編寫一個Shell腳本程序實現。
當調用該腳本時,知道用戶輸入正確的密碼才能退出。
其中:
- ctrl + u 刪除整行
- ctrl + b 刪除前一個字符
- 粗體顯示字符
shell程源序:
- trap " " 2 3 4
- stty -echo
- #tput bel
- stty kill \^u
- stty erase \^b
- tput bold
- #tput blink
- tput bel
- #tput dim
- if [ $# -gt 0 ]
- then
- MESG="$@"
- else
- MESG="This system is locked"
- fi
-
- tput clear
- tput cup 5 10; echo "Enter your passwd>\c"
- read pword_1
- tput clear
- tput cup 10 20;echo "$MESG"
- pword_2=
- until [ "$pword_1" = "$pword_2" ]
- do
- tput rev
- read pword_2
- done
- stty echo
- tput clear
- exit 0
分析:通過trap捕捉信號,設置中斷信號、退出信號均已屏蔽,即ctrl + c,del ,Break鍵均不管用。