Orlok

Modalità e cosa parte senza chiedere

Le quattro modalità di un profilo colleghi, quali comandi partono subito, quali chiedono e quali vengono sempre rifiutati.

Ogni profilo colleghi ha una modalità: come i colleghi che lo usano possono eseguire comandi. La sceglie un amministratore quando crea il profilo, e decide chi può usarlo concedendo il profilo in Amministrazione → Persone.

Le quattro modalità

Modalità Comandi Strumenti MCP Per chi è
Nega Nessuno: solo chat e wiki Nessuno Persone che non devono delegare operazioni
Chiedi I comandi di sola lettura e i tuoi tipi di comando approvati partono subito; gli altri attendono la tua approvazione Gli strumenti di sola lettura partono subito; gli altri seguono la policy degli strumenti del server Le operazioni di tutti i giorni, con una persona che decide ogni modifica
Accesso completo Partono senza approvazione; i comandi catastrofici vengono rifiutati Partono senza approvazione, a meno che il server chieda l'approvazione per ogni strumento Persone che lancerebbero gli stessi comandi di persona, su sistemi che conoscono bene
Yolo Partono senza approvazione, anche quelli catastrofici Come in Accesso completo Solo macchine di test

Il runner e i server MCP dell'ufficio sono disponibili in ogni modalità tranne Nega.

Con Accesso completo e Yolo non approva nessuno. Un collega può modificare o danneggiare un server senza che nessuno approvi, e il testo che legge in un documento o nell'output di un comando può guidarlo. Concedi questi profili solo a chi quei comandi li lancerebbe di persona.

Cosa conta come sola lettura

In modalità Chiedi un comando parte subito quando ogni sua parte si limita a leggere lo stato e non rivela segreti. Orlok riconosce un elenco di comandi di diagnostica, e controlla gli argomenti di quelli che possono anche scrivere.

Linux e il runner (shell POSIX), per esempio:

  • file e testo: cat, head, tail, less, grep, wc, sort, ls, stat, find, awk e sed usati solo per stampare;
  • sistema: uname, uptime, df, du, free, ps, top, lsblk, lscpu, id, whoami;
  • rete: ping con un conteggio di al massimo 20, dig, nslookup, host, ss, netstat, traceroute, mtr, ip per mostrare indirizzi, rotte e link, curl per un semplice GET o HEAD;
  • servizi e container: systemctl status, show, list-units e simili, journalctl --no-pager con un numero di righe o un intervallo di tempo, docker ps, logs, inspect, images, stats --no-stream;
  • Proxmox e storage: pvesh get, zpool, zfs, e i comandi di lettura di qm e pct;
  • JSON e YAML: jq, yq.

Windows (PowerShell), per esempio:

  • ogni cmdlet Get-*, Test-Path, Test-Connection, Test-NetConnection, Resolve-DnsName;
  • strumenti per la pipeline: Where-Object, Select-Object, Sort-Object, Group-Object, Measure-Object, ForEach-Object, Format-Table, Format-List, ConvertTo-Json;
  • programmi classici: ipconfig, systeminfo, tasklist, whoami, hostname, netstat, nslookup, tracert, ping -n, gpresult, dcdiag.

Una pipeline come ps aux | grep nginx | head parte subito perché ogni sua parte è di sola lettura.

Cosa chiede l'approvazione

In modalità Chiedi, tutto il resto attende la tua approvazione. Per esempio:

  • tutto ciò che cambia lo stato: systemctl restart, Restart-Service, apt install, rm, Remove-Item;
  • scrivere un file con > o >>;
  • tutto ciò che passa da sudo;
  • un comando di sola lettura puntato su un file sensibile: le chiavi SSH e la cartella .ssh, /etc/shadow e /etc/sudoers, i file .pem e .key, i file .env, .pgpass, .htpasswd, le credenziali cloud e Docker.

Quando consenti un comando «sempre», approvi il suo tipo di comando, non solo quella riga: vedi Tipi di comando approvati.

Cosa si approva solo una volta

Alcuni comandi non si possono leggere fino in fondo, quindi non c'è un tipo da ricordare e «Consenti sempre» non viene proposto:

  • $(...), bash -c, sh -c, powershell -Command, e gli script in generale;
  • un comando lanciato attraverso ssh dal runner;
  • un comando che legge un file sensibile;
  • le righe PowerShell costruite con variabili, foreach, try o chiamate a metodi .NET come .AddDays();
  • gli strumenti MCP che non sono di sola lettura;
  • un tipo di comando che un amministratore ha disattivato per te.

Preferisci i comandi semplici. A un collega in modalità Chiedi viene detto di preferire i comandi semplici agli script, perché ogni script richiede la tua approvazione ogni volta. Se ti ritrovi ad approvare lo stesso lungo script più e più volte, chiedi al collega di dividerlo in comandi semplici.

Cosa viene rifiutato

In modalità Chiedi e Accesso completo, un breve elenco di comandi catastrofici viene rifiutato, senza alcun modo di approvarli. Solo Yolo li esegue:

  • su Linux: rimuovere /, mkfs, wipefs, dd o shred su un dispositivo, chmod o chown sull'intero filesystem;
  • su Windows: Format-Volume, Clear-Disk, diskpart, eliminare voci di avvio con bcdedit, cancellare con cipher /w, eliminare le copie shadow con vssadmin, svuotare i registri eventi con wevtutil, rimuovere la radice di un'unità, Remove-ADDomain, Remove-ADForest.

Tutto ciò che è distruttivo e non sta in questo elenco chiede l'approvazione in modalità Chiedi.

Strumenti MCP

Ogni server MCP ha una policy degli strumenti, impostata da un amministratore in Amministrazione → Operazioni:

  • Gli strumenti di sola lettura partono subito, gli altri attendono l'approvazione: il default. In Accesso completo e Yolo partono anche gli altri;
  • Ogni strumento attende l'approvazione: in ogni modalità, Accesso completo e Yolo comprese;
  • Ogni strumento parte senza approvazione: in ogni modalità tranne Nega, compresi gli strumenti che modificano o eliminano dati.