diff --git a/public/uk/index.gmi b/public/uk/index.gmi index 824947c..c3a88c2 100644 --- a/public/uk/index.gmi +++ b/public/uk/index.gmi @@ -16,6 +16,7 @@ ### Нотатки +=> run-mycelium-without-root.gmi 2026-01-31 Запуск роутера Mycelium без root => tuba-with-ukrainian-activitypub-language-by-default.gmi 2026-01-31 Tuba зі стандартною українською мовою для повідомлень ActivityPub => run-yggdrasil-without-root.gmi 2026-01-30 Запуск роутера Yggdrasil без root => gostcoin-on-fedora-linux.gmi 2026-01-29 Особливості запуску GOSTcoin на Fedora diff --git a/public/uk/run-mycelium-without-root.gmi b/public/uk/run-mycelium-without-root.gmi new file mode 100644 index 0000000..41b6a1c --- /dev/null +++ b/public/uk/run-mycelium-without-root.gmi @@ -0,0 +1,52 @@ +# Запуск роутера Mycelium без root + +Щоб не повторюватись, схожа тема: +=> run-yggdrasil-without-root.gmi Запуск роутера Yggdrasil без root + +Відмінність рішення для Mycelium полягає лише у тому, що тут не потрібно вказувати адреси UNIX-сокета. + +``` bash +useradd -s /usr/sbin/nologin -M mycelium +``` + +Якщо файл ключа було згенеровано раніше, `myceliumd` для нього встановлює права `0400`, отже потрібно актуалізувати й власника - інакше сервіс не зможе запуститись від нового користувача `mycelium`: + +``` bash +chown mycelium:mycelium /etc/mycelium.bin +``` + +Тепер створюємо сервіс: + +``` /etc/systemd/system/mycelium.service +#/etc/systemd/system/mycelium.service +[Unit] +Wants=network.target +After=network.target + +[Service] +User=mycelium +Group=mycelium + +ProtectHome=true +ProtectSystem=strict +SyslogIdentifier=mycelium +NoNewPrivileges=true +CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE +AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE + +ExecStartPre=+-/sbin/modprobe tun +ExecStart=/usr/local/bin/mycelium -k /etc/mycelium.bin --peers tcp://xxx.xxx.xxx.xxx:xxxx + +# Адреси підмереж +#ExecStartPost=/bin/sleep 5s +#ExecStartPost=/bin/ip address add xxx:xxxx:xxxx:xxxx::x1/64 dev mycelium +#ExecStartPost=/bin/ip address add xxx:xxxx:xxxx:xxxx::x2/64 dev mycelium + +#Restart=always +#RestartSec=5 + +TimeoutStopSec=5 +``` +* якщо не планується робота з портами нижче `1024`, то `CAP_NET_BIND_SERVICE` варто прибрати +* є ще цікава опція `--no-tun`, тоді можна обійтись без `CAP_NET_ADMIN` але: +> The system will participate in the network as usual, but won't be able to send out L3 packets \ No newline at end of file diff --git a/public/uk/run-yggdrasil-without-root.gmi b/public/uk/run-yggdrasil-without-root.gmi index 4cf2e09..37176b6 100644 --- a/public/uk/run-yggdrasil-without-root.gmi +++ b/public/uk/run-yggdrasil-without-root.gmi @@ -44,5 +44,7 @@ AdminListen: unix:///var/run/yggdrasil/yggdrasil.sock --- -* Думаю зробити те само для Mycelium, бо мене тема пускання від рута давно параноїть і я просто вимикаю роутер, коли ним не користуюсь. +* Думаю зробити те само для Mycelium, бо мене тема пускання від рута давно параноїть і я просто вимикаю роутер, коли ним не користуюсь: +=> run-mycelium-without-root.gmi Запуск роутера Mycelium без root + * Збирання програм від рута - це ще одна дурнувата звичка, через що (ймовірно) я колись вхопив невловимий малварь, який благополучно здох тільки разом зі старим сервером. \ No newline at end of file