Enhance customization script to optionally change server hostname and improve user prompts. Update setup script to copy customization script to sysadmin user's home directory, with fallback to download if local file is missing. Include new password notification for sysadmin user during setup.
This commit is contained in:
10
costumize.sh
10
costumize.sh
@@ -39,6 +39,14 @@ set_hostname() {
|
|||||||
echo -e "${BLUE}=== Server Hostname Configuration ===${NC}"
|
echo -e "${BLUE}=== Server Hostname Configuration ===${NC}"
|
||||||
echo "Current hostname: $(hostname)"
|
echo "Current hostname: $(hostname)"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
|
read -p "Do you want to change the hostname? (y/N): " change_hostname
|
||||||
|
|
||||||
|
if [[ ! "$change_hostname" =~ ^[Yy]$ ]]; then
|
||||||
|
log "Keeping current hostname: $(hostname)"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
read -p "Enter new hostname for this server: " new_hostname
|
read -p "Enter new hostname for this server: " new_hostname
|
||||||
|
|
||||||
if [[ -z "$new_hostname" ]]; then
|
if [[ -z "$new_hostname" ]]; then
|
||||||
@@ -223,7 +231,7 @@ show_deploy_instructions() {
|
|||||||
main() {
|
main() {
|
||||||
echo -e "${BLUE}=== Server Customization Script ===${NC}"
|
echo -e "${BLUE}=== Server Customization Script ===${NC}"
|
||||||
echo "This script will:"
|
echo "This script will:"
|
||||||
echo "1. Set server hostname"
|
echo "1. Optionally set server hostname"
|
||||||
echo "2. Create Git deploy keys"
|
echo "2. Create Git deploy keys"
|
||||||
echo "3. Configure SSH for Git repositories"
|
echo "3. Configure SSH for Git repositories"
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
31
setup.sh
31
setup.sh
@@ -327,10 +327,10 @@ create_sysadmin_user() {
|
|||||||
# Check if the existing user has the default password "hhh"
|
# Check if the existing user has the default password "hhh"
|
||||||
if echo "hhh" | su - "$SYSADMIN_USER" -c "exit" 2>/dev/null; then
|
if echo "hhh" | su - "$SYSADMIN_USER" -c "exit" 2>/dev/null; then
|
||||||
warn "User $SYSADMIN_USER has default password 'hhh', changing to random password"
|
warn "User $SYSADMIN_USER has default password 'hhh', changing to random password"
|
||||||
local random_password=$(openssl rand -base64 12)
|
SYSADMIN_NEW_PASSWORD=$(openssl rand -base64 12)
|
||||||
echo "$SYSADMIN_USER:$random_password" | chpasswd
|
echo "$SYSADMIN_USER:$SYSADMIN_NEW_PASSWORD" | chpasswd
|
||||||
echo "=========================================="
|
echo "=========================================="
|
||||||
echo "NEW PASSWORD for $SYSADMIN_USER: $random_password"
|
echo "NEW PASSWORD for $SYSADMIN_USER: $SYSADMIN_NEW_PASSWORD"
|
||||||
echo "=========================================="
|
echo "=========================================="
|
||||||
log "Password changed for existing user $SYSADMIN_USER"
|
log "Password changed for existing user $SYSADMIN_USER"
|
||||||
fi
|
fi
|
||||||
@@ -600,14 +600,23 @@ finalize_setup() {
|
|||||||
|
|
||||||
log "SSH service restarted successfully"
|
log "SSH service restarted successfully"
|
||||||
|
|
||||||
# Download customization script for sysadmin user
|
# Copy customization script to sysadmin user home folder
|
||||||
log "Downloading customization script..."
|
log "Copying customization script..."
|
||||||
if wget -O /home/$SYSADMIN_USER/costumize.sh "https://git.del-c.net/Del-c.net/debian-first-boot-setup/raw/branch/main/costumize.sh"; then
|
if [[ -f "costumize.sh" ]]; then
|
||||||
|
cp costumize.sh /home/$SYSADMIN_USER/costumize.sh
|
||||||
chmod +x /home/$SYSADMIN_USER/costumize.sh
|
chmod +x /home/$SYSADMIN_USER/costumize.sh
|
||||||
chown $SYSADMIN_USER:$SYSADMIN_USER /home/$SYSADMIN_USER/costumize.sh
|
chown $SYSADMIN_USER:$SYSADMIN_USER /home/$SYSADMIN_USER/costumize.sh
|
||||||
log "Customization script downloaded to /home/$SYSADMIN_USER/costumize.sh"
|
log "Customization script copied to /home/$SYSADMIN_USER/costumize.sh"
|
||||||
else
|
else
|
||||||
warn "Failed to download customization script"
|
# Fallback to download if local file doesn't exist
|
||||||
|
log "Local costumize.sh not found, attempting download..."
|
||||||
|
if wget -O /home/$SYSADMIN_USER/costumize.sh "https://git.del-c.net/Del-c.net/debian-first-boot-setup/raw/branch/main/costumize.sh"; then
|
||||||
|
chmod +x /home/$SYSADMIN_USER/costumize.sh
|
||||||
|
chown $SYSADMIN_USER:$SYSADMIN_USER /home/$SYSADMIN_USER/costumize.sh
|
||||||
|
log "Customization script downloaded to /home/$SYSADMIN_USER/costumize.sh"
|
||||||
|
else
|
||||||
|
warn "Failed to copy or download customization script"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Clean up
|
# Clean up
|
||||||
@@ -620,8 +629,14 @@ finalize_setup() {
|
|||||||
echo -e "${BLUE}=== SETUP SUMMARY ===${NC}"
|
echo -e "${BLUE}=== SETUP SUMMARY ===${NC}"
|
||||||
echo -e "${YELLOW}• Root SSH login: DISABLED${NC}"
|
echo -e "${YELLOW}• Root SSH login: DISABLED${NC}"
|
||||||
echo -e "${YELLOW}• Root password: LOCKED${NC}"
|
echo -e "${YELLOW}• Root password: LOCKED${NC}"
|
||||||
|
echo -e "${YELLOW}• Sysadmin SSH login: DISABLED${NC}"
|
||||||
|
echo -e "${YELLOW}• Sysadmin password: LOCKED${NC}"
|
||||||
echo -e "${YELLOW}• Main user: $SYSADMIN_USER (sudo access)${NC}"
|
echo -e "${YELLOW}• Main user: $SYSADMIN_USER (sudo access)${NC}"
|
||||||
|
|
||||||
|
if [[ -n "$SYSADMIN_NEW_PASSWORD" ]]; then
|
||||||
|
echo -e "${RED}• IMPORTANT: Sysadmin password was changed from 'hhh' to: $SYSADMIN_NEW_PASSWORD${NC}"
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "$CREATE_ADDITIONAL_USER" == "yes" && -n "$ADDITIONAL_USER" ]]; then
|
if [[ "$CREATE_ADDITIONAL_USER" == "yes" && -n "$ADDITIONAL_USER" ]]; then
|
||||||
echo -e "${YELLOW}• Additional user: $ADDITIONAL_USER (sudo access)${NC}"
|
echo -e "${YELLOW}• Additional user: $ADDITIONAL_USER (sudo access)${NC}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user