[ shell编程 ] 自动删除操作系统用户

Posted Beng Dou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[ shell编程 ] 自动删除操作系统用户相关的知识,希望对你有一定的参考价值。

  Linux中经常需要删除用户操作,手工操作执行userdel操作即可,如果删除失败根据错误提示操作即可。但如果是脚本需要调用删除用户操作呢?利用如下实例中drop_user删除用户函数,可最大程度保证成功删除。

操作实例

#!/bin/bash

function drop_user()
{
  [ $# -ne 1 ] && return 1
  
  local username=$1
  
  grep -qs /etc/passwd || return 1
  ps -fu "${username}" | grep -v grep | awk {print $2} | xargs kill -9 &>/dev/null
  userdel -rf "${username}" &>/dev/null && return 0
  mv /var/run/utmp /var/run/utmp_bak
  touch /var/run/utmp
  userdel -rf "${username}" &>/dev/null && return 0 || return 1  
}

##main

if [ $(whoami) != root ];then
  printf "Please use root to execute script.\n"
  exit 1
fi

if [ $# -ne 1 ];then
  printf "Usage:$(basename $0) username\n"
  exit 1
fi

username=$1
drop_user ${username}
if [ $? -eq 0 ];then
  printf "Drop ${username} success.\n"
  exit 0
else
  printf "Drop ${username} fail.\n"
  exit 1
fi

 

以上是关于[ shell编程 ] 自动删除操作系统用户的主要内容,如果未能解决你的问题,请参考以下文章

SHELL编程练习-批量创建删除用户和组

shell脚本编程

shell编程基础知识

完成一个简单的时间片轮转多道程序内核代码

shell脚本

什么是Shell?Shell脚本是什么?shell脚本执行过程?学习Shell编程必看!