登陆论坛
|
论坛注册
|
加入收藏
|
设为首页
|
RSS
首页
Linux频道
软件下载
开发语言
技术论坛
嵌入式频道
|
数据库开发
|
WEB开发
|
软件开发
|
嵌入应用
|
内核研究
|
SHELL
|
输入您的搜索字词
提交搜索表单
您当前的位置:
首页
>
Linux频道
>
Linux开发区
>
SHELL
在Linux Shell程序中进行身份验证
时间:2006-08-28 10:08:09 来源:Linux联盟收集 作者:
Linux系统管理员常常碰到的头痛问题是,在确定系统没有被入侵的前提下,
SktLinux联盟
不知道哪个猪头不小心运行了某个特定用途的Shell程序,把系统搞得一塌
SktLinux联盟
糊涂。而且,系统记录显示该猪头使用的是公用帐号(root或者admin),
SktLinux联盟
你无法知道这个猪头在现实生活中具体对应的是哪一头猪。
SktLinux联盟
SktLinux联盟
SktLinux联盟
※开场
SktLinux联盟
SktLinux联盟
针对以上问题,解决方案有二:其一,追查时间和ip,根据时间和ip,可以
SktLinux联盟
追查到该猪头是从哪个饲料槽拱过来的。不过猪圈里往往存在饲料槽混用问
SktLinux联盟
题,这套解决方案只能确定以某猪为首的一群可疑猪。if大家都是通过代理
SktLinux联盟
连服务器的话,那除了one by one查log之外更无良策了。其二,在Shell程
SktLinux联盟
序中通过身份验证记录log,明确责任。
SktLinux联盟
SktLinux联盟
SktLinux联盟
※求解
SktLinux联盟
SktLinux联盟
本文利用Qmail作者D. J. Bernstein大师编写的checkpassword工具进行身份
SktLinux联盟
验证。
SktLinux联盟
1. 下载:
SktLinux联盟
http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
SktLinux联盟
2. 安装:
SktLinux联盟
tar xvfz checkpassword-0.90.tar.gz
SktLinux联盟
cd checkpassword-0.90
SktLinux联盟
make
SktLinux联盟
make setup check
SktLinux联盟
3. 如果可执行文件checkpassword没有在/bin下出现的话,goto 1
SktLinux联盟
SktLinux联盟
再加上下面这段程序就大功告成了:
SktLinux联盟
SktLinux联盟
--------------------------------
SktLinux联盟
#!/bin/sh
SktLinux联盟
#
SktLinux联盟
# Filename: auth.sh
SktLinux联盟
# Author: hutuworm
SktLinux联盟
# @Copyleft 2003 hutuworm.org
SktLinux联盟
#
SktLinux联盟
function auth_failed () {
SktLinux联盟
echo "靠,你耍俺老猪啊?"
SktLinux联盟
exit 1
SktLinux联盟
}
SktLinux联盟
echo "※※※※※※※※※※※"
SktLinux联盟
echo "※猪圈重地 闲人莫入※"
SktLinux联盟
echo "※※※※※※※※※※※"
SktLinux联盟
printf "请输入帐号:"
SktLinux联盟
read ACCOUNT
SktLinux联盟
if [ $ACCOUNT = 'admin' -o $ACCOUNT = 'root' ]
SktLinux联盟
then
SktLinux联盟
echo "本圈不欢迎admin&root!"
SktLinux联盟
exit 1
SktLinux联盟
fi
SktLinux联盟
printf "请输入密码:"
SktLinux联盟
stty -echo
SktLinux联盟
read PASSWORD
SktLinux联盟
stty echo
SktLinux联盟
echo ""
SktLinux联盟
printf "$ACCOUNT\0$PASSWORD\0Y123456\0" | /bin/checkpassword logger "$ACCOUNT used auth.sh" 3<&0 || auth_failed
SktLinux联盟
echo "欢迎光临糊涂馋寺附属斋堂之猪圈! :P"
SktLinux联盟
--------------------------------
SktLinux联盟
SktLinux联盟
SktLinux联盟
※验收
SktLinux联盟
SktLinux联盟
$ chmod +x auth.sh
SktLinux联盟
$
SktLinux联盟
$ ./auth.sh
SktLinux联盟
※※※※※※※※※※※
SktLinux联盟
※猪圈重地 闲人莫入※
SktLinux联盟
※※※※※※※※※※※
SktLinux联盟
请输入帐号:hutuworm
SktLinux联盟
请输入密码:
SktLinux联盟
靠,你耍俺老猪啊?
SktLinux联盟
$
SktLinux联盟
$ ./auth.sh
SktLinux联盟
※※※※※※※※※※※
SktLinux联盟
※猪圈重地 闲人莫入※
SktLinux联盟
※※※※※※※※※※※
SktLinux联盟
请输入帐号:admin
SktLinux联盟
请输入密码:
SktLinux联盟
本圈不欢迎admin&root!
SktLinux联盟
$
SktLinux联盟
$ ./auth.sh
SktLinux联盟
※※※※※※※※※※※
SktLinux联盟
※猪圈重地 闲人莫入※
SktLinux联盟
※※※※※※※※※※※
SktLinux联盟
请输入帐号:hutuworm
SktLinux联盟
请输入密码:
SktLinux联盟
欢迎光临糊涂馋寺附属斋堂之猪圈! :P
SktLinux联盟
$
SktLinux联盟
$ tail -1 /var/log/messages
SktLinux联盟
May 5 13:51:45 hutuworm.org 5月 5 13:51:45 logger: hutuworm used auth.sh
SktLinux联盟
来顶一下
返回首页
发表评论
共有
条评论
用户名:
密码:
验证码:
匿名发表
相关文章
无相关信息
栏目更新
栏目热门
站内搜索:
Linux频道
下载频道
图库
商品
嵌入式频道
高级搜索
网站首页
|
关于我们
|
服务条款
|
广告服务
|
联系我们
|
网站大全
|
免责声明
|
返回顶部
Copyright © 2007-2008 xxlinux.com, All rights reserved.
Powered by linux联盟
京ICP备05012402号