linux shell脚本对用户组成员以及附属组成员查询的实战脚本......

用户组查询

脚本用途:如果是命令查询那就必须通过 groups 查看当前登录用户的组内成员;groups user1 查看 user1用户所在的组,以及组内成员;whoami 查看当前登录用户名,这些一系列的察看方式进行查询,为了更好管理我们的用户以及用户组,那么我们就开发以这个为需求的小脚本来满足我们的需求。

  • 脚本命令
#!/bin/bash
while [ 1 -ne 2 ]
do
    read -p "Please enter the user group to query:" gname   #输入用户名
    groupmod $gname >/dev/null 2>&1         #验证用户组是否存在
        if [ $? -ne 0 ]             #判断用户组是否存在
        then
            echo "User group $gname does not exist; please input again!"
         exit 1             #报错退出 
         else               #存在继续进行
             gid=`cat /etc/group | grep $gname | awk -F ":" '{print $3}'`  #寻找用户组UID
             echo -n "$gname  主要组成员:"
             cat /etc/passwd | awk -F ":" '$4='$gid'{print $1 }' | xargs  #通过用户组UID察看主要成员
             echo -n "$gname  的附属组是:"
             cat /etc/group | grep "$gname" | awk -F ":" '{print $4}' | xargs  #查找用户组的附属组
            break
         fi
done
  • 脚本思路
1、输入要查询的用户组,通过 groupmod 判断用户组是否存在
2、不存在就直接推出,重新运行查询
3、用户组纯在进行对用户组UID来寻找察看对应UID组的主要成员和附属组成员

输出 “echo $PATH” 寻找脚本摆放的位置(默认首先第一个)其他路径也是可以的呢
把脚本放到 “/usr/local/sbin” 并且改名 “update-ipname” (名字可以自定),下次输入命令的时候按下“TAb”键补全就可以看到我们自己写的脚本了呢

[root@deng-131 order]# echo $PATH 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@deng-131 order]# cp sgroup.sh /usr/local/sbin/sgroup
[root@deng-131 order]# sgroup
sg      sgroup  

借用原有的命令和知识,开发出专属于自己的小工具。一样的应用,不一样的思路,不一般的效果…..

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值