1. 程式人生 > >Linux下刪除使用者指令碼-不是userdel -r 那麼簡單

Linux下刪除使用者指令碼-不是userdel -r 那麼簡單

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=([email protected])

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