# Запуск роутера Mycelium без root Щоб не повторюватись, схожа тема про [Запуск роутера Yggdrasil без root](https://devzone.org.ua/post/zapusk-routera-yggdrasil-bez-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