88 lines
4.8 KiB
Bash
88 lines
4.8 KiB
Bash
#!/bin/bash
|
||
# ============================================================
|
||
# ЗАДАНИЕ 3. Настройка HQ-CLI (Linux / РЕД ОС 8)
|
||
# 4. Доверие корневому сертификату ЦС (HQ-SRV)
|
||
# 6. Подключение виртуального pdf-принтера как принтера по умолчанию
|
||
# 9. Агент Кибер Бэкап — ДЕЛАЕТСЯ ВРУЧНУЮ (MANUAL.md)
|
||
# ============================================================
|
||
|
||
# --- Проверка прав root ---
|
||
if [[ $EUID -ne 0 ]]; then
|
||
echo "Запустите скрипт с правами root (sudo bash hq-cli.sh)"
|
||
exit 1
|
||
fi
|
||
|
||
# ================= ПЕРЕМЕННЫЕ (заполните перед запуском) =================
|
||
EXAM_TZ="Asia/Yekaterinburg" # по заданию — Екатеринбург
|
||
|
||
# --- 4. Доверие корневому сертификату ---
|
||
CA_ROOT_FILE="" # путь к скопированному корневому сертификату
|
||
# (root.crt копируется с HQ-SRV вручную — MANUAL.md)
|
||
CA_ANCHORS_DIR="/etc/pki/ca-trust/source/anchors" # ПРОВЕРИТЬ на РЕД ОС 8
|
||
CA_TRUST_CMD="update-ca-trust" # ПРОВЕРИТЬ команду обновления хранилища
|
||
|
||
# --- 6. Принтер по умолчанию (виртуальный pdf с HQ-SRV) ---
|
||
CUPS_SERVER="" # адрес HQ-SRV (без префикса)
|
||
PRINTER_NAME="pdf" # имя принтера, как он опубликован на HQ-SRV
|
||
CLIENT_PRINTER="pdf_printer" # локальное имя подключения на HQ-CLI
|
||
CUPS_PACKAGE="cups" # клиенту нужны утилиты lpadmin/lpstat
|
||
|
||
# ============ Проверка заполнения переменных ============
|
||
MISSING=()
|
||
for NAME in CA_ROOT_FILE CUPS_SERVER EXAM_TZ; do
|
||
[[ -z "${!NAME}" ]] && MISSING+=("$NAME")
|
||
done
|
||
if [[ ${#MISSING[@]} -gt 0 ]]; then
|
||
echo "Заполните переменные в начале скрипта: ${MISSING[*]}"
|
||
exit 1
|
||
fi
|
||
|
||
echo "=== Настройка HQ-CLI, задание 3 ==="
|
||
|
||
# --- 1. Доверие корневому сертификату ЦС ---
|
||
echo "--- Доверие CA ---"
|
||
if [[ ! -f "$CA_ROOT_FILE" ]]; then
|
||
echo "ДЕЛАЕТСЯ ВРУЧНУЮ: файла $CA_ROOT_FILE нет — скопируйте root.crt с HQ-SRV"
|
||
echo " scp root@<адрес HQ-SRV>:$CA_ROOT_FILE "
|
||
exit 1
|
||
fi
|
||
cp "$CA_ROOT_FILE" "$CA_ANCHORS_DIR/"
|
||
"$CA_TRUST_CMD" && echo "Хранилище сертификатов обновлено" \
|
||
|| echo "ПРОВЕРИТЬ: $CA_TRUST_CMD не выполнился"
|
||
echo "Проверка: curl -I https://web.au-team.irpo (не должен писать про сертификат)"
|
||
|
||
# --- 2. Принтер по умолчанию ---
|
||
echo "--- Подключение принтера — $CLIENT_PRINTER <- $CUPS_SERVER:$PRINTER_NAME ---"
|
||
dnf install -y "$CUPS_PACKAGE" || echo "ПРОВЕРИТЬ: пакет $CUPS_PACKAGE не установился"
|
||
if lpstat -p 2>/dev/null | grep -qw "$CLIENT_PRINTER"; then
|
||
echo "Принтер $CLIENT_PRINTER уже подключён"
|
||
else
|
||
lpadmin -p "$CLIENT_PRINTER" \
|
||
-v "ipp://$CUPS_SERVER:631/printers/$PRINTER_NAME" -E \
|
||
&& echo "Принтер добавлен" \
|
||
|| echo "ПРОВЕРИТЬ: lpadmin не смог добавить принтер (CUPS на HQ-SRV слушает 631?)"
|
||
fi
|
||
# Назначить принтер по умолчанию (повторно безопасно)
|
||
lpoptions -d "$CLIENT_PRINTER" >/dev/null && echo "Принтер по умолчанию: $CLIENT_PRINTER"
|
||
lpstat -p -d
|
||
|
||
# --- 3. Агент Кибер Бэкап — вручную ---
|
||
echo ""
|
||
echo "ДЕЛАЕТСЯ ВРУЧНУЮ (MANUAL.md): установить агент с функциями узла"
|
||
echo "хранилища, подключить к серверу HQ-SRV, создать /backup и выбрать"
|
||
echo "её как устройство хранения. Директорию /backup можно создать сейчас:"
|
||
mkdir -p /backup && echo " Директория /backup создана"
|
||
|
||
# --- 4. Часовой пояс ---
|
||
timedatectl set-timezone "$EXAM_TZ"
|
||
|
||
echo ""
|
||
echo "=== Самопроверка на HQ-CLI ==="
|
||
lpstat -p -d
|
||
echo ""
|
||
echo "Дополнительные проверки вручную:"
|
||
echo " curl -I https://web.au-team.irpo (без предупреждений о сертификате)"
|
||
echo " curl -I https://docker.au-team.irpo (без предупреждений + логин WEB/P@ssw0rd на web)"
|
||
echo " echo test | lp -d $CLIENT_PRINTER (печать в pdf-принтер)"
|
||
echo " ls /var/spool/cups-pdf на HQ-SRV (pdf появился у принтера?)"
|