Files
gitserver/01/01-k-server-initial-setup.05.sh
2026-02-19 20:05:04 +03:00

85 lines
3.4 KiB
Bash
Executable File

#!/bin/bash
#===============================================================================
# ШАГ 5: СОЗДАНИЕ АДМИНИСТРАТОРА
#===============================================================================
# Запуск: sudo bash 01-k-server-initial-setup.05.sh
#===============================================================================
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
source "$SCRIPT_DIR/01-k-server-initial-setup.00.sh"
init_log
check_root
print_header "ШАГ 5: СОЗДАНИЕ АДМИНИСТРАТОРА"
#-------------------------------------------------------------------------------
# 5.1 Проверка существования пользователя
#-------------------------------------------------------------------------------
print_subheader "Проверка пользователя"
if user_exists "$ADMIN_USER"; then
print_warning "Пользователь $ADMIN_USER уже существует"
# Проверка членства в sudo
if groups "$ADMIN_USER" | grep -q sudo; then
print_success "Пользователь уже в группе sudo"
else
print_info "Добавление в группу sudo..."
usermod -aG sudo "$ADMIN_USER"
print_success "Пользователь добавлен в sudo"
fi
else
# Создание пользователя
print_info "Создание пользователя $ADMIN_USER..."
adduser --gecos "" --disabled-password "$ADMIN_USER"
# Добавление в группы
usermod -aG sudo,adm,systemd-journal "$ADMIN_USER"
print_success "Пользователь $ADMIN_USER создан"
fi
#-------------------------------------------------------------------------------
# 5.2 Установка пароля
#-------------------------------------------------------------------------------
print_subheader "Пароль пользователя"
echo ""
print_warning "Установка пароля для $ADMIN_USER (для console доступа)"
echo ""
read -p "Установить пароль сейчас? [Y/n]: " SET_PASS
SET_PASS=${SET_PASS:-Y}
if [[ "$SET_PASS" =~ ^[Yy]$ ]]; then
passwd "$ADMIN_USER"
print_success "Пароль установлен"
else
print_info "Пароль можно установить позже: sudo passwd $ADMIN_USER"
fi
#-------------------------------------------------------------------------------
# 5.3 Настройка SSH-директории
#-------------------------------------------------------------------------------
print_subheader "Настройка SSH"
setup_ssh_dir "$ADMIN_USER"
#-------------------------------------------------------------------------------
# 5.4 Информация
#-------------------------------------------------------------------------------
echo ""
echo -e "${YELLOW}============================================================${NC}"
echo -e "${YELLOW} ВАЖНО: Добавьте SSH-ключ для входа!${NC}"
echo -e "${YELLOW}============================================================${NC}"
echo ""
echo " Добавьте ваш публичный SSH-ключ:"
echo " sudo nano /home/$ADMIN_USER/.ssh/authorized_keys"
echo ""
echo " Или командой:"
echo " echo 'ssh-ed25519 AAAA...' | sudo tee /home/$ADMIN_USER/.ssh/authorized_keys"
echo ""
print_success "Шаг 5 завершён: Администратор создан"