Ohne sudo verwalten

Jedes Gerät kann einen Operator haben, einen lokalen Benutzer, der dort jeden juist-Befehl ohne sudo ausführen darf. Du legst ihn einmal als root fest.

Worum es geht

Auf jedem Gerät erledigt der Daemon juistd die Arbeit, und der Befehl juist fragt ihn. Der Daemon entscheidet, wer was fragen darf:

WerDarf
rootalles, auch den Operator festlegen
der Operatoralles andere: Geräte auflisten, einladen, bestätigen, einen Exit-Node nutzen und so weiter
jeder andere lokale Benutzernur juist status

Der Operator ist ein lokaler Benutzer, der für dieses Gerät festgelegt ist. Meist bist das du, die Person, die das Gerät benutzt. Mit einem Operator musst du nicht vor jeden Befehl sudo schreiben.

Änderungen am Netz selbst, etwa ein Gerät aufnehmen oder entfernen, brauchen außerdem einen Admin-Schlüssel. Ein Admin ist eine Person, deren Schlüssel Änderungen bestätigt. Admin-Schlüssel liegen in deinem eigenen Keystore, ~/.config/juist. Darum führst du diese Befehle als du selbst aus, nicht mit sudo (siehe Admins).

Den Operator festlegen

Meist ist nichts zu tun:

  • juist create, als du selbst ausgeführt, fragt einmal, ob es sudo juist set ausführen soll, und macht dich zum Operator.
  • sudo juist join … macht den Benutzer, der sudo aufgerufen hat, zum Operator, außer --operator nennt einen anderen.

Hat das Gerät noch keinen Operator, oder willst du ihn ändern, geht es von Hand.

1auf laptop

Deinen Benutzer zum Operator machen:

sudo juist set --operator=$USER

Es gibt operator alice aus. Ab jetzt funktioniert jeder juist-Befehl auf diesem Gerät ohne sudo.

So hebst du es wieder auf:

sudo juist set --operator=""

Es gibt operator cleared aus.

Gut zu wissen

  • Es gibt einen Operator pro Gerät und Netz. juist set braucht root.
  • Ein Befehl, der den Operator braucht, fragt im Terminal not the operator; run sudo juist set --operator=alice? [Y/n] und führt es aus, wenn du zustimmst.
  • Ein paar Befehle ändern den Rechner selbst und fragen weiterhin einmal nach sudo: juist exit serve, juist subnet serve und das Anlegen oder Beitreten eines zweiten Netzes auf demselben Gerät.
  • Auf einem Gerät in mehreren Netzen nennst du das Netz: sudo juist set work --operator=$USER.
  • juist reset vergisst den Operator zusammen mit dem Netz.

Wenn etwas nicht klappt

juist status endet, von jemandem ausgeführt, der nicht Operator ist, mit:

$ juist status
…
hint: read-only; to manage this device: sudo juist set --operator=alice

Führe diesen Befehl einmal aus. Wo ein Befehl nicht fragen kann, etwa in einem Skript, scheitert er mit juist: operator only und demselben Hinweis.

Siehe auch Status und Geräte und Fehlersuche.