Chinaunix首页 | 论坛 | 博客
  • 博客访问: 24288
  • 博文数量: 9
  • 博客积分: 235
  • 博客等级: 二等列兵
  • 技术积分: 97
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-30 10:12
文章分类

全部博文(9)

文章存档

2012年(9)

我的朋友

分类: LINUX

2012-08-20 23:16:09

查找输入用户的组是否有其他成员,并对结果进行输出;需要注意的是,查找的USERNAME必须在passwd文件第一字段,并且就只是USERNAME.举例:root. Rootok.myroot,myrootok等特殊用户名出现的时候!

点击(此处)折叠或打开

  1. 1 #!/bin/bash
  2. 2 #########根据输入的用户,查询该用户的所属组是否有其他用户##########
  3. 3 source ./lib.sh
  4. 4
  5. 5 dialog --inputbox "Enter your name please" 8 60\
  6. 6 2>/tmp/input$$.input
  7. 7
  8. 8 case $? in
  9. 9 ###对inputbox的输出状态做判断!#####
  10. 10 0)
  11. 11 USERNAME=$(cat /tmp/input$$.input )
  12. 12 if [ $(grep -i "^$USERNAME:" /etc/passwd|wc -l) -gt 0 ];then
  13. 13 ###########判断输入的用户是否在passwd文件##########
  14. 14 _GID=$(grep -i "^$USERNAME:" /etc/passwd |cut -d: -f4)
  15. 15 _GUSER=$(grep -i ":$_GID:" /etc/group|cut -d: -f4 )
  16. 16 echo "$_GUSER" >/tmp/input_GUSER
  17. 17 _GUSER_STAT=$(cat /tmp/input_GUSER|grep -v ^$|wc -l)
  18. 18 ####判断找到的同ID的组不同状态#####
  19. 19 if [ $_GUSER_STAT -gt 0 ];then
  20. 20 SHOW_MSG "the $USERNAME same have $_GUSER"
  21. 21 else
  22. 22 SHOW_MSG "the $USERNAME groups not have other users"
  23. 23 fi
  24. 24 else
  25. 25 SHOW_MSG "not find it "$USERNAME""
  26. 26 fi
  27. 27 ;;
  28. 28 *)
  29. 29 SHOW_MSG "Cancelled!"
  30. 30 ;;
  31. 31 esac
  32. 32 rm -rf /tmp/input*
  33. 33 dialog --clear

阅读(821) | 评论(0) | 转发(0) |
0

上一篇:模拟ntsysv管理服务的脚本

下一篇:没有了

给主人留下些什么吧!~~