当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 在LinuxShell程序中进行身份验证

Unix/Linux
linux 操作技巧收集_
linux下如何读取使用iso 镜像文件的方法
Linux平台下文件的压缩与解压参数说明
Linux下常用压缩格式的压缩与解压方法
Linux JDK,TOMCAT安装及环境设置
Linux sleep命令使用参数
Linux cat命令参数
nfs 配置的简单例子
linux kill 关闭进程命令
linux ultrasphinx Anonymous modules have no name to be referenced by
Linux oracle 9i图文安装方法一
Linux oracle 9i图文安装教程二
Linux oracle 9i图文安装教程三
Linux oracle 9i图文安装教程四
Linux oracle 9i图文安装教程五
Linux oracle 9i图文安装教程六 完结篇
linux AS3 oracle9i 安装指南
Linux 下 (RedHat 9.0) JDK,Tomcat,MySQL的安装
RedHat 9.0下Apache+PHP+MySQL服务器安装配置
Linux 下用 Python 连接 MSSql Server 2008

Unix/Linux 中的 在LinuxShell程序中进行身份验证


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 60 ::
收藏到网摘: n/a


  摘要
  本文利用Qmail作者D. J. Bernstein大师编写的checkpassword工具,通过编写一段Shell程序进行身份验证。
  Linux系统管理员常常碰到的头痛问题是,在确定系统没有被入侵的前提下,
  不知道哪个猪头不小心运行了某个特定用途的Shell程序,把系统搞得一塌
  糊涂。而且,系统记录显示该猪头使用的是公用帐号(root或者admin),
  你无法知道这个猪头在现实生活中具体对应的是哪一头猪。
  
  ※开场
  
  针对以上问题,解决方案有二:其一,追查时间和ip,根据时间和ip,可以
  追查到该猪头是从哪个饲料槽拱过来的。不过猪圈里往往存在饲料槽混用问
  题,这套解决方案只能确定以某猪为首的一群可疑猪。if大家都是通过代理
  连服务器的话,那除了one by one查log之外更无良策了。其二,在Shell程
  序中通过身份验证记录log,明确责任。
  
  ※求解
  
  本文利用Qmail作者D. J. Bernstein大师编写的checkpassword工具进行身份
  验证。
  
  1. 下载:
  
  http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz
  
  2. 安装:
  
  tar xvfz checkpassword-0.90.tar.gz
  cd checkpassword-0.90
  make
  make setup check
  
  3. 如果可执行文件checkpassword没有在/bin下出现的话,goto 1
  
  再加上下面这段程序就大功告成了:
  
  
   #!/bin/sh
   #
   # Filename: auth.sh
   # Author: hutuworm

   # @Copyleft 2003 hutuworm.org
   #
   function auth_failed () {
   echo "靠,你耍俺老猪啊?"
   exit 1
   }
   echo "※※※※※※※※※※※"
   echo "※猪圈重地 闲人莫入※"
   echo "※※※※※※※※※※※"
   printf "请输入帐号:"
   read ACCOUNT
   if [ $ACCOUNT = 'admin' -o $ACCOUNT = 'root' ]
   then
   echo "本圈不欢迎admin&root!"
   exit 1
   fi
   printf "请输入密码:"
   stty -echo
   read PASSWORD
   stty echo
   echo ""
   printf "$ACCOUNT$PASSWORDY123456" | /bin/checkpassword logger "$ACCOUNT
   used auth.sh" 3<&0' 'auth_failed
   echo "欢迎光临糊涂馋寺附属斋堂之猪圈! :P"
  
  
  
  ※验收
  
  
  $ chmod +x auth.sh
   $
   $ ./auth.sh
   ※※※※※※※※※※※
   ※猪圈重地 闲人莫入※
   ※※※※※※※※※※※
   请输入帐号:hutuworm
   请输入密码:
   靠,你耍俺老猪啊?
   $
   $ ./auth.sh
   ※※※※※※※※※※※
   ※猪圈重地 闲人莫入※
   ※※※※※※※※※※※
   请输入帐号:admin
   请输入密码:
   本圈不欢迎admin&root!
   $
   $ ./auth.sh
   ※※※※※※※※※※※
   ※猪圈重地 闲人莫入※
   ※※※※※※※※※※※
   请输入帐号:hutuworm
   请输入密码:
   欢迎光临糊涂馋寺附属斋堂之猪圈! :P
   $
   $ tail -1 /var/log/messages
   May 5 13:51:45 hutuworm.org 5月 5 13:51:45 logger: hutuworm used auth.sh