1. 程式人生 > >[ shell編程 ] 自動刪除操作系統用戶

[ shell編程 ] 自動刪除操作系統用戶

$# awk basename pan rgs please 手工 printf pass

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編程 ] 自動刪除操作系統用戶