mirror of
https://codeberg.org/postscriptum/gemlog.git
synced 2026-02-18 22:12:40 +00:00
add run-yggdrasil-without-root.gmi
This commit is contained in:
parent
ffb6203453
commit
917a9a3756
2 changed files with 41 additions and 1 deletions
|
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
### Нотатки
|
### Нотатки
|
||||||
|
|
||||||
|
=> run-yggdrasil-without-root.gmi 2026-01-30 Запуск роутера Yggdrasil без root
|
||||||
=> gostcoin-on-fedora-linux.gmi 2026-01-29 Особливості запуску GOSTcoin на Fedora
|
=> gostcoin-on-fedora-linux.gmi 2026-01-29 Особливості запуску GOSTcoin на Fedora
|
||||||
=> openssl-provider-setup-on-fedora-using-gost-engine-example.gmi 2026-01-29 Підключення користувацьких алгоритмів OpenSSL на прикладі провайдера "GOST engine"
|
=> openssl-provider-setup-on-fedora-using-gost-engine-example.gmi 2026-01-29 Підключення користувацьких алгоритмів OpenSSL на прикладі провайдера "GOST engine"
|
||||||
=> ufw-exception-for-multicast-peer-discovery.gmi 2026-01-26 Правило ufw для пошуку сусідніх пірів через мультикаст
|
=> ufw-exception-for-multicast-peer-discovery.gmi 2026-01-26 Правило ufw для пошуку сусідніх пірів через мультикаст
|
||||||
|
|
|
||||||
40
public/uk/run-yggdrasil-without-root.gmi
Normal file
40
public/uk/run-yggdrasil-without-root.gmi
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
# Запуск роутера Yggdrasil без root
|
||||||
|
|
||||||
|
Якось, на новому сервері Debian, було передвстановлено Yggdrasil з репозиторію. Оскільки сам я збираю роутер з сорсу і створюю для нього самопальний сервіс для root, тоді я випадково повалив собі конект давши права 0400 на файл конфігурації створений від рута.
|
||||||
|
|
||||||
|
Поліз розбиратись і помітив, що користувач там yggdrasil:
|
||||||
|
|
||||||
|
``` /usr/lib/systemd/system/yggdrasil.service
|
||||||
|
[Unit]
|
||||||
|
Description=yggdrasil
|
||||||
|
Wants=network-online.target
|
||||||
|
After=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=yggdrasil
|
||||||
|
Group=yggdrasil
|
||||||
|
ProtectHome=true
|
||||||
|
ProtectSystem=strict
|
||||||
|
NoNewPrivileges=true
|
||||||
|
RuntimeDirectory=yggdrasil
|
||||||
|
ReadWritePaths=/var/run/yggdrasil /run/yggdrasil
|
||||||
|
SyslogIdentifier=yggdrasil
|
||||||
|
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||||
|
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||||
|
ExecStartPre=+-/sbin/modprobe tun
|
||||||
|
ExecStart=/usr/sbin/yggdrasil -useconffile /etc/yggdrasil/yggdrasil.conf
|
||||||
|
ExecReload=/bin/kill -HUP $MAINPID
|
||||||
|
Restart=always
|
||||||
|
TimeoutStopSec=5
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
```
|
||||||
|
=> https://github.com/yggdrasil-network/yggdrasil-go/blob/develop/contrib/systemd/yggdrasil.service.debian оригінал
|
||||||
|
|
||||||
|
По суті, користувач root - потрібен роутерові лише для створення інтерфейсу tun. І як бачимо, надання привілеїв CAP_NET_ADMIN і CAP_NET_BIND_SERVICE - цілком вирішує цю проблему, хоча й не без недоліків:
|
||||||
|
=> https://github.com/yggdrasil-network/yggdrasil-go/issues/881#issuecomment-1010040413
|
||||||
|
|
||||||
|
Думаю спробувати, в т.ч. для Mycelium, бо мене тема пускання від рута давно параноїть і я просто вимикаю роутер, коли ним не користуюсь.
|
||||||
|
|
||||||
|
P.S. збирання програм від рута - це ще одна дурнувата звичка, через що (ймовірно) я колись вхопив невловимий малварь, який благополучно здох тільки разом з сервером, своєю смертю.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue