diff --git a/lxc/setup_mariadb.sh b/lxc/setup_mariadb.sh index aa672f3..808fcdc 100644 --- a/lxc/setup_mariadb.sh +++ b/lxc/setup_mariadb.sh @@ -93,16 +93,25 @@ if id "$LINUX_USER" &>/dev/null; then userdel -r "$LINUX_USER" 2>/dev/null || userdel "$LINUX_USER" 2>/dev/null || true echo "✓ 사용자 '$LINUX_USER' 삭제 완료" - # 새 비밀번호 입력 - read -s -p "새로운 Linux 사용자 비밀번호: " LINUX_PW - echo "" - read -s -p "Linux 사용자 비밀번호 확인: " LINUX_PW_CONFIRM - echo "" - - if [[ "$LINUX_PW" != "$LINUX_PW_CONFIRM" ]]; then - echo "❌ Linux 사용자 비밀번호가 일치하지 않습니다." - exit 1 - fi + # 새 비밀번호 입력 (재시도 옵션) + while true; do + read -s -p "새로운 Linux 사용자 비밀번호: " LINUX_PW + echo "" + read -s -p "Linux 사용자 비밀번호 확인: " LINUX_PW_CONFIRM + echo "" + + if [[ "$LINUX_PW" != "$LINUX_PW_CONFIRM" ]]; then + echo "❌ Linux 사용자 비밀번호가 일치하지 않습니다." + read -p "다시 입력하시겠습니까? (Y/n): " RETRY_PW_2 + RETRY_PW_2=${RETRY_PW_2:-Y} + if [[ ! "$RETRY_PW_2" =~ ^[Yy]$ ]]; then + echo "비밀번호 입력을 취소했습니다." + exit 1 + fi + else + break + fi + done CREATE_USER=true else echo "❌ 사용자 삭제를 취소했습니다. 다른 사용자명을 입력하세요." @@ -116,22 +125,29 @@ if id "$LINUX_USER" &>/dev/null; then ;; esac else - # 새 사용자 생성 - read -s -p "Linux 사용자 비밀번호: " LINUX_PW - echo "" - read -s -p "Linux 사용자 비밀번호 확인: " LINUX_PW_CONFIRM - echo "" + # 새 사용자 생성 (비밀번호 입력) + while true; do + read -s -p "Linux 사용자 비밀번호: " LINUX_PW + echo "" + read -s -p "Linux 사용자 비밀번호 확인: " LINUX_PW_CONFIRM + echo "" - if [[ "$LINUX_PW" != "$LINUX_PW_CONFIRM" ]]; then - echo "❌ Linux 사용자 비밀번호가 일치하지 않습니다." - exit 1 - fi + if [[ "$LINUX_PW" != "$LINUX_PW_CONFIRM" ]]; then + echo "❌ Linux 사용자 비밀번호가 일치하지 않습니다." + read -p "다시 입력하시겠습니까? (Y/n): " RETRY_PW + RETRY_PW=${RETRY_PW:-Y} + if [[ ! "$RETRY_PW" =~ ^[Yy]$ ]]; then + echo "비밀번호 입력을 취소했습니다." + exit 1 + fi + else + break + fi + done CREATE_USER=true fi -# ------------------------------------------------- -# 3. MariaDB 계정을 동일하게 사용할지 여부 -# ------------------------------------------------- +# MariaDB 계정 설정 read -p "MariaDB 계정을 Linux 계정과 동일하게 사용할까요? (Y/n): " SAME_ACCOUNT SAME_ACCOUNT=${SAME_ACCOUNT:-Y} @@ -140,21 +156,48 @@ if [[ "$SAME_ACCOUNT" =~ ^[Yy]$ ]]; then if [ "$CREATE_USER" = true ]; then DB_PW="$LINUX_PW" else - read -s -p "MariaDB 비밀번호: " DB_PW - echo "" + # 기존 사용자의 경우 비밀번호 입력 + while true; do + read -s -p "MariaDB 비밀번호: " DB_PW + echo "" + read -s -p "MariaDB 비밀번호 확인: " DB_PW_CONFIRM + echo "" + + if [[ "$DB_PW" != "$DB_PW_CONFIRM" ]]; then + echo "❌ MariaDB 비밀번호가 일치하지 않습니다." + read -p "다시 입력하시겠습니까? (Y/n): " RETRY_DB_PW + RETRY_DB_PW=${RETRY_DB_PW:-Y} + if [[ ! "$RETRY_DB_PW" =~ ^[Yy]$ ]]; then + echo "비밀번호 입력을 취소했습니다." + exit 1 + fi + else + break + fi + done fi echo "→ DB 사용자/비밀번호를 Linux 계정과 동일하게 사용합니다." else read -p "MariaDB 사용자 이름: " DB_USER - read -s -p "MariaDB 사용자 비밀번호: " DB_PW - echo "" - read -s -p "MariaDB 사용자 비밀번호 확인: " DB_PW_CONFIRM - echo "" + # MariaDB 사용자 비밀번호 입력 (재시도 옵션) + while true; do + read -s -p "MariaDB 사용자 비밀번호: " DB_PW + echo "" + read -s -p "MariaDB 사용자 비밀번호 확인: " DB_PW_CONFIRM + echo "" - if [[ "$DB_PW" != "$DB_PW_CONFIRM" ]]; then - echo "❌ MariaDB 비밀번호가 일치하지 않습니다." - exit 1 - fi + if [[ "$DB_PW" != "$DB_PW_CONFIRM" ]]; then + echo "❌ MariaDB 비밀번호가 일치하지 않습니다." + read -p "다시 입력하시겠습니까? (Y/n): " RETRY_DB_PW2 + RETRY_DB_PW2=${RETRY_DB_PW2:-Y} + if [[ ! "$RETRY_DB_PW2" =~ ^[Yy]$ ]]; then + echo "비밀번호 입력을 취소했습니다." + exit 1 + fi + else + break + fi + done fi # MariaDB DB 이름을 사용자 이름과 동일하게 설정