LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4285|回复: 7

禁止用户登录脚本

[复制链接]
发表于 2003-2-23 15:03:06 | 显示全部楼层 |阅读模式
要想让某些用户不能登录系统,可以用简单脚本实现
  1. root//home/javalee/lx>cat killuser
  2. #! /bin/ksh
  3. #scriptname:killuser
  4. #disabel some user login system
  5. #start...
  6. echo -n "who do you want to kill:"
  7. read username
  8. while true
  9. do
  10. kill -9 $(ps -aux|grep $username|awk '{print $2}')
  11. sleep 1
  12. done
  13. javalee//home>su abc    //用户abc登录成功
  14. Password:
  15. abc//home>
  16. root//home/javalee/lx>sh killuser    //运行
  17. who do you want to kill:abc
  18. ...
  19. javalee//home>su abc    //运行脚本后,被KILL
  20. Password:
  21. abc//home>Killed
  22. javalee//home>    //登录失败,返回
复制代码
 楼主| 发表于 2003-3-16 18:39:39 | 显示全部楼层
也可以用:
#grep '0:0' /etc/passwd|awk -F: '{print $1}' //正常情况是root,;)
检查你的/etc/passwd文件是否可疑情况,
发表于 2003-3-16 23:46:26 | 显示全部楼层
挺好:)
发表于 2003-3-24 17:34:28 | 显示全部楼层
可以先建立一个deny.user的文件,内容如下:
user1
user2
user3
然后将下列代码加到 /etc/porfile里
logname=`whoami |grep '{print $1}'`
while read i; do
if [ $i =$logname ]; then
echo "Sorry,$LOGNAME can not login" && exit
fi
do < /path/deny.user
发表于 2007-1-9 15:52:47 | 显示全部楼层
直接删了他们岂不干脆
回复 支持 反对

使用道具 举报

发表于 2007-1-11 14:22:08 | 显示全部楼层
貌似没有看懂楼主的意图:是一直有个root要执行你的killuser吗?那多麻烦啊。不能作一个确定一些用户,采用某些手段限制这些用户登录的程序吗?
回复 支持 反对

使用道具 举报

发表于 2007-1-11 18:05:39 | 显示全部楼层
好东西,自己改了一下
#!/bin/bash
echo -n "Enter login user: "
read us
aa=`ps -aux|awk '{print $1}'|grep $us`
if [ "$aa" != "" ]
then
echo "$us用户已经登陆"
echo "你确定要踢掉$us用户吗?"
echo -n "Y/N: "
read y
if [ "$y" == "y" ] || [ "$y" == "Y" ];then
while true
do
kill -9 $(ps -aux|grep $us|awk '{print $2}')
sleep 2
done
fi
else
echo "$us用户未登陆"
fi
回复 支持 反对

使用道具 举报

发表于 2007-1-12 17:36:53 | 显示全部楼层
Post by lee_vs
好东西,自己改了一下
#!/bin/bash
echo -n "Enter login user: "
read us
aa=`ps -aux|awk '{print $1}'|grep $us`
if [ "$aa" != "" ]
then
echo "$us用户已经登陆"
echo "你确定要踢掉$us用户吗?"
echo -n "Y/N: "
read y
if [ "$y" == "y" ] || [ "$y" == "Y" ];then
while true
do
kill -9 $(ps -aux|grep $us|awk '{print $2}')
sleep 2
done
fi
else
echo "$us用户未登陆"
fi




这个好用,不错
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表