Ohne sudo verwalten
Jedes Gerät kann einen Operator haben, also einen lokalen Benutzer, der dort jeden juist-Befehl ohne sudo ausführen darf. Du legst ihn einmal als root fest.
Wer was darf #
Auf jedem Gerät erledigt der Daemon juistd die Arbeit, und der Befehl
juist schickt ihm Anfragen. Der Daemon entscheidet, wer was darf:
| Wer | Darf |
|---|---|
| root | alles, auch den Operator festlegen |
| der Operator | alles andere, etwa Geräte auflisten, einladen, Änderungen bestätigen oder einen Exit-Node nutzen |
| jeder andere lokale Benutzer | nur juist status und juist health, die andere Geräte als member 1, member 2 usw. zeigen |
Der Operator ist der lokale Benutzer, der für dieses Gerät festgelegt
ist, meist du, also die Person, die das Gerät benutzt. Gibt es einen
Operator, musst du nicht mehr vor jeden Befehl sudo schreiben.
Änderungen am Netz, etwa die Aufnahme eines Geräts, brauchen außerdem einen
Admin-Schlüssel. Er liegt in deinem eigenen
Keystore ~/.config/juist, also führst du diese Befehle als du selbst aus,
nicht mit sudo.
Den Operator festlegen #
Meist musst du gar nichts tun:
- Führst du
juist createals du selbst aus, fragt es einmal, ob essudo juist setausführen soll, und macht dich zum Operator. sudo juist join …macht den Benutzer, der sudo aufgerufen hat, zum Operator, es sei denn, du nennst mit--operatoreinen anderen.
Hat das Gerät noch keinen Operator oder willst du ihn ändern, legst du ihn von Hand fest.
Mach deinen Benutzer zum Operator:
sudo juist set --operator=$USERDie Ausgabe lautet operator alice. Ab jetzt funktioniert jeder
juist-Befehl auf diesem Gerät ohne sudo.
So entfernst du den Operator wieder:
sudo juist set --operator=""Die Ausgabe lautet operator cleared.
Gut zu wissen #
- Jedes Gerät hat pro Netz genau einen Operator. Nur root kann ihn mit
juist set --operatorfestlegen. Die übrigen Einstellungen vonjuist set, etwa die für Netze, die nur HTTPS durchlassen, darf der Operator ändern. - Ein Befehl, der den Operator braucht, fragt im Terminal
not the operator; run sudo juist set --operator=alice? [Y/n]und führt den angezeigten Befehl aus, wenn du zustimmst. - Unter Linux fragen einige Befehle, die den Rechner selbst verändern,
weiterhin einmal nach sudo:
juist exit serve,juist subnet serveund das Anlegen oder Beitreten eines zweiten Netzes auf demselben Gerät. - Ist ein Gerät in mehreren Netzen, gibst du das Netz an:
sudo juist set work --operator=$USER. juist resetlöscht den Operator zusammen mit dem Netz.
Fehlersuche #
Ruft jemand juist health auf, der nicht Operator ist, endet die Ausgabe so:
$ juist health
…
hint: read-only; to manage this device: sudo juist set --operator=alice
Führe diesen Befehl einmal aus. Kann ein Befehl nicht nachfragen, etwa in
einem Skript, bricht er mit juist: operator only und demselben Hinweis ab.
Siehe auch Status und Geräte und Fehlersuche.