diff --git a/servers/fr1.md b/servers/fr1.md index c44fe31..6c287eb 100644 --- a/servers/fr1.md +++ b/servers/fr1.md @@ -241,5 +241,36 @@ backend=systemd banaction=ufw - ⏳ Дроп-ин `/etc/ssh/sshd_config.d/50-cloud-init.conf` не читается из-под `rus` — под root проверить `sshd -T | grep -iE "permitrootlogin|passwordauth"`, чтобы знать эффективные значения, а не собранные из файлов вручную. - ⚠️ Описания **других** серверов не сверялись: `servers/de1.md` и `servers/ru1.md` датируются временем до вывода de1, так что могут врать. +## Как это описание поддерживается +Механизм заведён 2026-09-08, после того как сверка нашла десяток расхождений. + +**В репозитории:** `CLAUDE.md` — контракт «тронул сервер, обнови описание в +том же прогоне» и правила оформления; `.claude/skills/server-audit/` — метод +сверки и накопленные грабли; `scripts/snapshot.sh` — инвентаризация живого +состояния за один проход (только чтение, без sudo, секретов не печатает). + +**На самом сервере**, для агентов, у которых репозитория нет: +- `~rus/CLAUDE.md` и `~tgclaude/CLAUDE.md` — указатель на репо, правило и + пять граблей, которые дороже всего стоили (ufw не видит docker-портов; + группа docker равна root; процесс из SSH не переживёт ребут; абсолютные + пути в чужих базах; мигающий IPv6). Рядом `AGENTS.md` — симлинк на тот же + файл, для агентов, читающих эту конвенцию. Claude Code подхватывает + `CLAUDE.md` вверх по дереву каталогов, поэтому файл в хоме виден и при + работе в подкаталогах вроде `~tgclaude/imgbot`. +- `~rus/MyVault/TOOLS.md`, раздел SSH — та же обязанность для агента Astra. + Файл смонтирован в контейнер `claude-channels` как `/vault`, так что + изменение видно ему сразу, и синкается в Gitea кроном каждые 5 минут. + +⚠️ **Чего этот механизм не гарантирует.** MOTD и `.bashrc` не помогут: +`.bashrc` выходит на строке 6 для неинтерактивных шеллов, а MOTD +показывается только при интерактивном входе — то есть агент, дёргающий +`ssh fr1 'команда'`, не увидит ничего. Файлы в хомах достанут только тех, +кто читает `CLAUDE.md`/`AGENTS.md` и чей рабочий каталог оказался внутри +хома. Серверного хука «агент закончил работу» не существует. +Детектор дрейфа (таймер, сравнивающий отпечаток состояния с прошлым и +пишущий в Telegram) обсуждался и **сознательно не заводился** — если +незадокументированные изменения снова начнут накапливаться, начинать +стоит с него. + ## Установленные пакеты (сверх базы) htop, mtr-tiny, tmux, vim, curl, wget, git, unzip, net-tools, dnsutils, ncdu, rsync, fail2ban, unattended-upgrades, sysstat.