[ shell編程 ] 自動刪除操作系統用戶
阿新 • • 發佈:2017-10-12
$# 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}‘ | xargskill -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編程 ] 自動刪除操作系統用戶