自动添加SUDO权限脚本

自动添加sudo权限的脚本

前言:

      作为一个运维人员,经常会有开发的同事审请一些服务器的sudo权限,而且有同事离职,也需要将sudo权限移除,(开发同事离职之后并不是马上就要将其帐号删除,至少要保存三个月的时间 ),服务器少了还好说,那如果有几十台的话,那就不好办了,自己写了一个简单的脚本,也方便了运维的工作,贴出来给大家分享下,有不对的地方还请大家多指教!

 

1、添加sudo的脚本

#cat addsudo.sh

#!/bin/bash
# Owner by Only.liu
# date 2012/11/01
HOSTLIST="/opt/qunar/tools/etc/adduser_hosts.cf"
SUDOFILE="/etc/sudoers"
#
for HOST  in `cat ${HOSTLIST}`
do
          ssh only.liu@${HOST} 'sudo grep "'$1'" '${SUDOFILE}'' > /dev/null
          if [ "$?" != 0 ]
          then
              echo "User $1 on ${HOST} not have sudo!"
              ssh only.liu@${HOST} 'echo "'$1' ALL=(ALL) NOPASSWD:ALL,!/bin/su"' >> ${SUD
OFILE} && echo "User $1 add sudo success!"
          else
              echo "User $1 already have sudo!"
          fi
done

 

   

 

 

2、删除sudo的脚本

#cat delsudo.sh

#!/bin/bash
# Owner by Only.liu
# date 2012/11/01
HOSTLIST="/opt/qunar/tools/etc/adduser_hosts.cf"
SUDOFILE="/etc/sudoers"
#
for HOST  in `cat ${HOSTLIST}`
do
          ssh only.liu@${HOST} 'sudo grep "'$1'" '${SUDOFILE}'' > /dev/null
          if [ "$?" = 0 ]
          then
              echo "User $1 on ${HOST} have sudo!"
              ssh only.liu@${HOST} 'sudo sed -i '/$1/d' '${SUDOFILE}'' && echo "User $1 o
n ${HOST} delete success!"
          else
              echo "User $1 on ${HOST} already delete sudo!"
          fi
done

 

 

 

示例:

若要添加tom的sudo权限:

#sudo ./addsudo.sh tom

若要删除tom的sudo权限:

#sudo ./delsudo.sh tom

 

注解:

     先通过我的帐号only.liu ssh所要加sudo权限的机器,通过grep 命令查看机器的/etc/sudoers文件中是否有同事的帐号,通过退出状态来判断,如果有刚输出User on host have sudo!

;若没有,通过sed命令在最后追加一条,最后输出add success!

 

本文出自 “洋仔 Learning......” 博客,谢绝转载!

你可能感兴趣的:(sudo)