当前位置 : 主页 > 操作系统 > centos >

Linux下删除用户脚本-不是userdel -r 那么简单

来源:互联网 收集:自由互联 发布时间:2021-04-07
Linux下删除用户不仅仅是userdel -r 那么简单。 如果你删除用户时,该用户有许多进程正在进行,你是不是要一个个kill掉再删除; 如果你成功删除该用户后,系统中还有需要改用户的文件

Linux下删除用户不仅仅是userdel -r 那么简单。

如果你删除用户时,该用户有许多进程正在进行,你是不是要一个个kill掉再删除;

如果你成功删除该用户后,系统中还有需要改用户的文件是不是还要删除。

如上,岂不麻烦。下面的脚本可以帮你快速删除一个或多个用户。

#!/bin/bash
#delete user from system
#by slitobo 2017/6/2

#check user is root
[ `id -u` -ne 0 ] && echo "Please change to root user ..." && exit 10

#check arguments number
[ $# -lt 1 ] && echo "Usage: $0 user1 [user2] ..." && exit 11

#use list
USER=($@)

for i in ${USER[@]}
do
        if id $i &> /dev/null;then
                read -n 1 -p "Comfirm Delete User "$i" [y=comfirm,other key=cancel]:" SURE
                case $SURE in
                    y|Y)
                        echo
                        ps -u $i --no-heading | awk '{print $1}' | xargs kill -9 &> /dev/null #kill user pid
                        find / -user $i -exec rm -rf {} \; &> /dev/null #delete user files
                        userdel $i &> /dev/null #delete user
                        echo "The user $i deleted"
                        ;;
                    *)
                        echo
                        echo "$i delete not successful"
                        ;;
                esac
        fi
done

网友评论