=== chroot_configure.sh === #!/bin/bash # Итоговый эталонный скрипт настройки под UEFI (api/chroot_configure.sh) # Импортируем переданные переменные из временного файла конфигурации if [ -f /etc/installer_env.conf ]; then source /etc/installer_env.conf fi # 1. Сетевое имя хоста if [ -z "$SYS_HOSTNAME" ]; then SYS_HOSTNAME="arch-server-btrfs"; fi echo "$SYS_HOSTNAME" > /etc/hostname cat < /etc/hosts 127.0.0.1 localhost ::1 localhost 127.1.1.1 $SYS_HOSTNAME.localdomain $SYS_HOSTNAME EOF # 2. Часовой пояс /usr/bin/ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime /usr/bin/hwclock --systohc # ===================================================================== # 3. Настройка учетной записи суперпользователя root (ЗАЩИЩЕННАЯ) # ===================================================================== if [ -z "$SYS_PASS" ]; then SYS_PASS="12345678"; fi # Используем стандартный потоковый passwd, который никогда не роняет скрипт echo -e "$SYS_PASS\n$SYS_PASS" | /usr/bin/passwd root >/dev/null 2>&1 # ===================================================================== # 4. Пользователь и права администратора (ЗАЩИЩЕННАЯ) # ===================================================================== if [ -z "$SYS_USER" ]; then SYS_USER="eva"; fi if ! id "$SYS_USER" &>/dev/null; then /usr/bin/useradd -m -G wheel,storage,power,http -s /bin/bash "$SYS_USER" fi # Назначаем пароль пользователю через надежный механизм echo -e "$SYS_PASS\n$SYS_PASS" | /usr/bin/passwd "$SYS_USER" >/dev/null 2>&1 echo "%wheel ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/10_wheel chmod 440 /etc/sudoers.d/10_wheel