diff --git a/alpine_install.sh b/alpine_install.sh index dae83a1..ba71e3f 100644 --- a/alpine_install.sh +++ b/alpine_install.sh @@ -749,31 +749,54 @@ fi echo echo "==================================================" -echo "[*] Автологин tty1" +echo "[*] Настройка автологина tty1" echo "==================================================" if [ -f /etc/inittab ]; then + # -------------------------------------------------------- + # Резервная копия + # -------------------------------------------------------- + if [ ! -f /etc/inittab.bak ]; then - cp /etc/inittab /etc/inittab.bak - fi - if grep -q '^tty1::respawn:/sbin/getty' /etc/inittab; then + # -------------------------------------------------------- + # Создаём login-wrapper + # + # agetty запускает этот скрипт вместо обычного login. + # Скрипт автоматически выполняет login для USER_NAME. + # -------------------------------------------------------- + + cat > /usr/local/sbin/autologin-login << EOF +#!/bin/sh + +exec /bin/login "$USER_NAME" +EOF + + chmod 755 /usr/local/sbin/autologin-login + + # -------------------------------------------------------- + # tty1 + # -------------------------------------------------------- + + if grep -q '^tty1::respawn:' /etc/inittab; then sed -i \ - "s|^tty1::respawn:/sbin/getty.*|tty1::respawn:/sbin/getty -a $USER_NAME 38400 tty1|" \ + "s|^tty1::respawn:.*|tty1::respawn:/sbin/agetty -n -l /usr/local/sbin/autologin-login 38400 tty1|" \ /etc/inittab - elif ! grep -q '^tty1::respawn:' /etc/inittab; then + else echo \ - "tty1::respawn:/sbin/getty -a $USER_NAME 38400 tty1" \ + "tty1::respawn:/sbin/agetty -n -l /usr/local/sbin/autologin-login 38400 tty1" \ >> /etc/inittab fi + echo "[+] tty1 настроен на автоматический вход: $USER_NAME" + else echo "[!] /etc/inittab отсутствует."