diff --git a/costumize.sh b/costumize.sh index ecd9528..653de99 100755 --- a/costumize.sh +++ b/costumize.sh @@ -247,6 +247,11 @@ main() { echo "" echo -e "${GREEN}Server customization completed!${NC}" echo -e "${YELLOW}You may need to log out and back in to see the hostname change.${NC}" + + # Self-delete the script after successful completion + log "Cleaning up customization script..." + rm -f "$0" + log "Customization script deleted successfully" } main "$@" \ No newline at end of file diff --git a/setup.sh b/setup.sh index 948d53b..280e757 100755 --- a/setup.sh +++ b/setup.sh @@ -329,9 +329,24 @@ create_sysadmin_user() { log "User $SYSADMIN_USER created successfully" SYSADMIN_USER_CREATED="yes" - # Set password for sysadmin user - echo "Please set a password for user $SYSADMIN_USER:" - passwd "$SYSADMIN_USER" + # Set password for sysadmin user with retry logic + local max_attempts=3 + local attempt=1 + + while [ $attempt -le $max_attempts ]; do + echo "Please set a password for user $SYSADMIN_USER (attempt $attempt of $max_attempts):" + if passwd "$SYSADMIN_USER"; then + log "Password set successfully for $SYSADMIN_USER" + break + else + warn "Failed to set password for $SYSADMIN_USER" + if [ $attempt -eq $max_attempts ]; then + error "Failed to set password after $max_attempts attempts. Exiting." + fi + echo "Please try again..." + ((attempt++)) + fi + done fi # Add sysadmin to sudo group @@ -352,9 +367,24 @@ create_additional_user() { log "User $ADDITIONAL_USER created successfully" ADDITIONAL_USER_CREATED="yes" - # Set password for additional user - echo "Please set a password for user $ADDITIONAL_USER:" - passwd "$ADDITIONAL_USER" + # Set password for additional user with retry logic + local max_attempts=3 + local attempt=1 + + while [ $attempt -le $max_attempts ]; do + echo "Please set a password for user $ADDITIONAL_USER (attempt $attempt of $max_attempts):" + if passwd "$ADDITIONAL_USER"; then + log "Password set successfully for $ADDITIONAL_USER" + break + else + warn "Failed to set password for $ADDITIONAL_USER" + if [ $attempt -eq $max_attempts ]; then + error "Failed to set password after $max_attempts attempts. Exiting." + fi + echo "Please try again..." + ((attempt++)) + fi + done fi # Add additional user to sudo group (existing or newly created) @@ -629,6 +659,11 @@ main() { # Finalize finalize_setup + + # Self-delete the script after successful completion + log "Cleaning up setup script..." + rm -f "$0" + log "Setup script deleted successfully" } main "$@"