| 论坛注册| 加入收藏 | 设为首页| RSS
Google
您当前的位置:首页 > 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联盟
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
    无相关信息
栏目更新
栏目热门