commit 5862fb7890062332fa0ee665e6cce4a0cfe85d6f Author: lobanov_v Date: Thu Aug 6 13:25:42 2026 +0000 Загрузить файлы в «/» diff --git a/init_system b/init_system new file mode 100644 index 0000000..ddad74d --- /dev/null +++ b/init_system @@ -0,0 +1,79 @@ +et -euo pipefail + +USER_NAME="lobanov_v" +REPO_URL="https://git.lobanoffhomecloud.ru/lobanov_v/easy_ssh---zabbix_agent2.git" +CLONE_DIR="/tmp/easy_ssh---zabbix_agent2" + +echo "==> Создание пользователя..." + +if ! id "$USER_NAME" &>/dev/null; then + useradd -m -s /bin/bash "$USER_NAME" + echo "Пользователь $USER_NAME создан." +else + echo "Пользователь $USER_NAME уже существует." +fi + +echo "==> Добавление пользователя в группу sudo..." + +if getent group sudo >/dev/null; then + usermod -aG sudo "$USER_NAME" +elif getent group wheel >/dev/null; then + usermod -aG wheel "$USER_NAME" +fi + +echo "==> Настройка sudo без пароля..." + +echo "$USER_NAME ALL=(ALL:ALL) NOPASSWD:ALL" > /etc/sudoers.d/$USER_NAME +chmod 440 /etc/sudoers.d/$USER_NAME +visudo -cf /etc/sudoers.d/$USER_NAME + +echo "==> Установка git..." + +if ! command -v git >/dev/null; then + apt-get update + apt-get install -y git +fi + +echo "==> Клонирование репозитория..." + +rm -rf "$CLONE_DIR" +git clone "$REPO_URL" "$CLONE_DIR" + +echo "==> Настройка SSH-ключей..." + +mkdir -p "/home/$USER_NAME/.ssh" + +cp "$CLONE_DIR/authorized_keys" "/home/$USER_NAME/.ssh/authorized_keys" + +chmod 700 "/home/$USER_NAME/.ssh" +chmod 600 "/home/$USER_NAME/.ssh/authorized_keys" + +chown -R "$USER_NAME:$USER_NAME" "/home/$USER_NAME/.ssh" + +echo "==> Замена sshd_config..." + +cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%F-%H%M%S) + +cp "$CLONE_DIR/sshd_config" /etc/ssh/sshd_config + +echo "==> Проверка конфигурации SSH..." + +sshd -t + +echo "==> Перезапуск службы SSH..." + +if systemctl list-unit-files | grep -q "^ssh.service"; then + systemctl restart ssh +elif systemctl list-unit-files | grep -q "^sshd.service"; then + systemctl restart sshd +else + echo "Не удалось определить имя службы SSH." + exit 1 +fi + +echo +echo "========================================" +echo "Настройка завершена успешно." +echo "Пользователь: $USER_NAME" +echo "Репозиторий: $REPO_URL" +echo "========================================"