Asistente · 2 de 2
Reglas de permisos
Lo que el asistente puede ejecutar sin preguntar — y lo que nunca puede ejecutar — está escrito en un solo archivo: ~/.shellden/permissions.json. Ajustes → Asistente → Abrir permissions.json lo abre; un cambio vale desde el siguiente comando, sin reiniciar.
Qué cambia una regla
Los comandos de solo lectura (
ls, cat, df, systemctl status…) ya se ejecutan solos en Auto. Las reglas son para todo lo demás.Un comando en
allow se ejecuta solo en Auto, aunque modifique algo.Un comando en
deny nunca se ejecuta desde el asistente: sin botón Ejecutar, nada automático, snippets incluidos — incluso dentro de una cadena como cd /tmp && sudo rm -rf build.Una regla que termina en
* coincide con todo comando que empiece así; sin * coincide solo con ese comando exacto. deny siempre gana.Un ejemplo
{
"allow": ["git pull", "docker compose restart *"],
"deny": ["rm -rf *", "kubectl delete *"],
"scopes": {
"host:203.0.113.10": { "allow": ["sudo systemctl reload nginx"] },
"k8s:shop-prod": { "deny": ["kubectl scale *"] }
}
}Con este archivo:
git pull y docker compose restart web se ejecutan solos en Auto, en cualquier conexión.rm -rf ./build y kubectl delete pod web-1 nunca se ejecutan desde el asistente.sudo systemctl reload nginx se ejecuta solo únicamente mientras la pestaña activa es la sesión SSH a 203.0.113.10; en otras espera un clic.En el cluster
shop-prod, kubectl scale … nunca se ejecuta; en otros clusters espera un clic.Scopes
host:<dirección> — el campo Host de un host SSH (la dirección que muestra la barra de estado), docker:<contenedor> o k8s:<contexto>.Un scope vale solo mientras la pestaña de esa conexión es la activa;
allow y deny de primer nivel valen en todas partes.Sin editar el archivo
Permitir siempre… junto a un comando propuesto escribe la regla: el primer clic muestra la regla exacta y dónde aplica, el segundo la guarda.