Артефакты в системе
После apt install / dnf install на диске появляются следующие
объекты:
/usr/bin/ololo-relay— бинарь сервиса. Владелецroot:root, права0755./lib/systemd/system/ololo-relay.service— systemd-юнит.Type=simple, запускается от пользователяololo-relay. Владелецroot:root, права0644./etc/ololo-relay/node.yaml— конфиг узла. Помечен conffilenoreplace— обновления пакета его не перетирают. Владелецroot:root, права0644./etc/ololo-relay/initial-policy.yaml.example— шаблон политики для standalone-режима или первичной настройки мастера. Владелецroot:root, права0644./var/lib/ololo-relay/— каталог состояния: bolt-БД политики, кеши peer-токенов. Владелецololo-relay:ololo-relay, права0750.
Системный пользователь
Создаётся системный пользователь ololo-relay:
- UID и GID из системного диапазона (
useradd --system). - Без shell:
/usr/sbin/nologin. - Домашний каталог:
/var/lib/ololo-relay/. - Не используется ни для чего, кроме запуска сервиса.
Capabilities
Через setcap бинарю выдаются:
cap_net_admin— для управления TUN-устройством;cap_net_bind_service— для прослушивания привилегированных портов (<1024), например, 443.
Это позволяет сервису запускаться от непривилегированного пользователя, не теряя возможности работать с сетью.
Изоляция systemd
В юнит включены ограничения:
NoNewPrivileges=true
ProtectSystem=strict
ProtectHome=true
PrivateTmp=true
ReadWritePaths=/var/lib/ololo-relay
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX AF_NETLINK
Файловая система видна только на чтение, кроме
/var/lib/ololo-relay/. Каталог /tmp — приватный, доступа к
/home нет.
Что не делает postinstall
- Не запускает сервис (
systemctl enable/start) — конфиг должен быть отредактирован администратором; иначе сервис уйдёт в цикл перезапусков и съест место в журнале. - Не открывает порты в межсетевом экране — это решение
администратора (зависит от выбранного порта и стека:
ufw,firewalld,nftables). - Не создаёт TLS-сертификаты — relay предполагает, что они уже есть: от Let’s Encrypt, корпоративного CA или собственного.
Что делает postremove
- При
apt remove/dnf remove: останавливает иdisableсервис. - При
apt purge/ явном удалении конфигов: удаляет/etc/ololo-relay/. - Никогда не удаляет: системного пользователя
ololo-relay, каталог/var/lib/ololo-relay/. Эти объекты переживают обновления типа remove+install и оставляются администратору.