Profile picture

[Shell Script] 유저 삭제/생성 스크립트 작성

JaehyoJJAng2023년 05월 02일

◾️ 개요

ESXI에서 특정 서버를 Clone하여 복제 서버를 만드는 경우에

복제 서버는 원본 서버의 설정 파일을 그대로 가지고 있기 때문에 각 복제 서버별로 접속하여 원본 서버의 유저를 삭제하고 복제된 서버에 맞는 새로운 유저를 일일이 생성하는 것이 매우 번거로웠음.

그걸 해결하고자 간단하게 스크립트를 작성하고자 함.


• Script

#!/usr/bin/bash

echo "삭제할 사용자 이름 입력 :"
read del_username

if [[ "${del_username}" == 'root' ]]; then
  echo "The identity root cannot be deleted!"
  exit 1
fi

if [[ ! -n $(grep "^${del_username}" /etc/passwd) ]]; then
  echo "There is no such ${del_username}."
  exit 1
fi

echo -e "${del_username} 사용자를 정말로 삭제하시겠습니까?"
read answer

if [[ "${answer}" == 'y' ]] || [[ "${answer}" == 'yes' ]] || [[ "${answer}" == 'Y' ]]; then
  echo -e "${del_username} 사용자를 삭제합니다 ..."
  pkill -u "${del_username}"
  userdel -r "${del_username}"
  groupdel "${del_username}" >/dev/null 2>&1
fi

echo "${username} 유저가 삭제되었습니다."

echo "새롭게 생성할 유저명을 입력해주세요 :"
read new_username
useradd -d /home/"${new_username}" -s /bin/bash "${new_username}"
echo "${new_username} 사용자가 새롭게 추가되었습니다."

Loading script...