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