Files
xmwork/.claude/settings.json
gongzhiyong 8ab440154b chore(perms): allow ssh/scp/sftp/rsync for agent deployment tasks
Adds to permissions.allow:
- ssh, scp, sftp (remote exec + file transfer)
- ssh-add, ssh-keygen, ssh-copy-id (key management)
- rsync (fast file sync)

No Dockerfile change -> no rebuild needed; settings.json is bind-mounted
into the container. After git pull, /exit + restart claude to reload.
2026-04-25 02:18:47 +08:00

538 lines
16 KiB
JSON

{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"permissions": {
"allow": [
"Bash(ssh:*)",
"Bash(scp:*)",
"Bash(sftp:*)",
"Bash(ssh-add:*)",
"Bash(ssh-keygen:*)",
"Bash(ssh-copy-id:*)",
"Bash(rsync:*)",
"Bash(git status*)",
"Bash(git diff*)",
"Bash(git log*)",
"Bash(git show*)",
"Bash(git branch*)",
"Bash(git rev-parse*)",
"Bash(git blame*)",
"Bash(git ls-files*)",
"Bash(git config --get*)",
"Bash(git remote -v)",
"Bash(git remote show*)",
"Bash(git shortlog*)",
"Bash(git reflog*)",
"Bash(git checkout*)",
"Bash(git switch*)",
"Bash(git add*)",
"Bash(git commit*)",
"Bash(git pull*)",
"Bash(git fetch*)",
"Bash(git stash*)",
"Bash(git push origin*)",
"Bash(git cherry-pick*)",
"Bash(git restore*)",
"Bash(git tag*)",
"Bash(git cherry-pick --abort)",
"Bash(git merge --abort)",
"Bash(git rebase --abort)",
"Bash(gh auth status*)",
"Bash(gh pr view*)",
"Bash(gh pr list*)",
"Bash(gh pr diff*)",
"Bash(gh pr checks*)",
"Bash(gh pr status*)",
"Bash(gh pr create*)",
"Bash(gh pr comment*)",
"Bash(gh pr checkout*)",
"Bash(gh pr ready*)",
"Bash(gh pr edit*)",
"Bash(gh pr review --comment*)",
"Bash(gh issue view*)",
"Bash(gh issue list*)",
"Bash(gh issue create*)",
"Bash(gh issue comment*)",
"Bash(gh issue edit*)",
"Bash(gh issue close*)",
"Bash(gh issue reopen*)",
"Bash(gh run view*)",
"Bash(gh run list*)",
"Bash(gh run watch*)",
"Bash(gh run download*)",
"Bash(gh workflow view*)",
"Bash(gh workflow list*)",
"Bash(gh workflow run*)",
"Bash(gh repo view*)",
"Bash(gh repo list*)",
"Bash(gh repo clone*)",
"Bash(gh release view*)",
"Bash(gh release list*)",
"Bash(gh release download*)",
"Bash(gh api*)",
"Bash(gh secret list*)",
"Bash(gh label list*)",
"Bash(gh variable list*)",
"Bash(gh browse*)",
"Bash(az --version)",
"Bash(az --help*)",
"Bash(az account show*)",
"Bash(az account list*)",
"Bash(az account get-access-token*)",
"Bash(az group list*)",
"Bash(az group show*)",
"Bash(az containerapp list*)",
"Bash(az containerapp show*)",
"Bash(az containerapp logs show*)",
"Bash(az containerapp logs tail*)",
"Bash(az containerapp revision list*)",
"Bash(az containerapp revision show*)",
"Bash(az containerapp ingress show*)",
"Bash(az containerapp ingress cors show*)",
"Bash(az containerapp identity show*)",
"Bash(az containerapp env show*)",
"Bash(az containerapp env list*)",
"Bash(az containerapp env logs show*)",
"Bash(az containerapp job list*)",
"Bash(az containerapp job show*)",
"Bash(az containerapp job execution list*)",
"Bash(az containerapp job execution show*)",
"Bash(az containerapp replica list*)",
"Bash(az containerapp replica show*)",
"Bash(az keyvault list*)",
"Bash(az keyvault show*)",
"Bash(az keyvault secret list*)",
"Bash(az keyvault secret show*)",
"Bash(az keyvault secret list-versions*)",
"Bash(az keyvault key list*)",
"Bash(az keyvault key show*)",
"Bash(az keyvault certificate list*)",
"Bash(az keyvault certificate show*)",
"Bash(az acr list*)",
"Bash(az acr show*)",
"Bash(az acr repository list*)",
"Bash(az acr repository show*)",
"Bash(az acr repository show-tags*)",
"Bash(az acr repository show-manifests*)",
"Bash(az acr manifest list*)",
"Bash(az acr manifest show*)",
"Bash(az acr task list*)",
"Bash(az acr task show*)",
"Bash(az acr task show-run*)",
"Bash(az postgres server show*)",
"Bash(az postgres server list*)",
"Bash(az postgres flexible-server show*)",
"Bash(az postgres flexible-server list*)",
"Bash(az postgres flexible-server db list*)",
"Bash(az postgres flexible-server db show*)",
"Bash(az postgres flexible-server parameter show*)",
"Bash(az postgres flexible-server parameter list*)",
"Bash(az redis show*)",
"Bash(az redis list*)",
"Bash(az storage account show*)",
"Bash(az storage account list*)",
"Bash(az storage account show-connection-string*)",
"Bash(az storage blob list*)",
"Bash(az storage blob show*)",
"Bash(az storage container list*)",
"Bash(az storage container show*)",
"Bash(az staticwebapp list*)",
"Bash(az staticwebapp show*)",
"Bash(az staticwebapp environment list*)",
"Bash(az staticwebapp hostname list*)",
"Bash(az monitor metrics list*)",
"Bash(az monitor log-analytics workspace show*)",
"Bash(az monitor log-analytics query*)",
"Bash(az monitor alert list*)",
"Bash(az monitor activity-log list*)",
"Bash(az monitor diagnostic-settings list*)",
"Bash(az monitor diagnostic-settings show*)",
"Bash(az deployment group list*)",
"Bash(az deployment group show*)",
"Bash(az deployment sub list*)",
"Bash(az deployment sub show*)",
"Bash(az deployment operation group list*)",
"Bash(az deployment group what-if*)",
"Bash(az deployment sub what-if*)",
"Bash(az resource list*)",
"Bash(az resource show*)",
"Bash(az role assignment list*)",
"Bash(az role assignment show*)",
"Bash(az role definition list*)",
"Bash(az identity list*)",
"Bash(az identity show*)",
"Bash(az network vnet list*)",
"Bash(az network vnet show*)",
"Bash(az network private-endpoint list*)",
"Bash(az network private-endpoint show*)",
"Bash(az network nsg list*)",
"Bash(az network nsg show*)",
"Bash(az network public-ip list*)",
"Bash(az bicep build*)",
"Bash(az bicep decompile*)",
"Bash(az bicep version*)",
"Bash(az servicebus*show*)",
"Bash(az servicebus*list*)",
"Bash(az ad user show*)",
"Bash(az ad user list*)",
"Bash(az ad app show*)",
"Bash(az ad app list*)",
"Bash(az ad sp show*)",
"Bash(az ad sp list*)",
"Bash(npm install*)",
"Bash(npm ci*)",
"Bash(npm test*)",
"Bash(npm run*)",
"Bash(npm audit*)",
"Bash(npm outdated*)",
"Bash(npm list*)",
"Bash(npm view*)",
"Bash(pnpm install*)",
"Bash(pnpm run*)",
"Bash(pnpm test*)",
"Bash(pnpm list*)",
"Bash(pnpm outdated*)",
"Bash(pnpm audit*)",
"Bash(bun install*)",
"Bash(bun test*)",
"Bash(bun run*)",
"Bash(yarn*)",
"Bash(pip install*)",
"Bash(pip list*)",
"Bash(pip show*)",
"Bash(pip check*)",
"Bash(uv pip*)",
"Bash(uv run*)",
"Bash(uv sync*)",
"Bash(pytest*)",
"Bash(ruff*)",
"Bash(black*)",
"Bash(mypy*)",
"Bash(isort*)",
"Bash(flake8*)",
"Bash(pip-audit*)",
"Bash(alembic current*)",
"Bash(alembic heads*)",
"Bash(alembic history*)",
"Bash(alembic upgrade*)",
"Bash(alembic check*)",
"Bash(alembic revision --autogenerate*)",
"Bash(prisma validate*)",
"Bash(prisma migrate status*)",
"Bash(prisma migrate diff*)",
"Bash(prisma migrate dev*)",
"Bash(prisma migrate deploy*)",
"Bash(prisma generate*)",
"Bash(npx prisma*)",
"Bash(go build*)",
"Bash(go test*)",
"Bash(go vet*)",
"Bash(go fmt*)",
"Bash(go mod*)",
"Bash(go list*)",
"Bash(go version*)",
"Bash(go install*)",
"Bash(golangci-lint*)",
"Bash(govulncheck*)",
"Bash(make*)",
"Bash(docker compose build*)",
"Bash(docker compose config*)",
"Bash(docker compose ps*)",
"Bash(docker compose logs*)",
"Bash(docker compose exec*)",
"Bash(docker images*)",
"Bash(docker ps*)",
"Bash(docker inspect*)",
"Bash(docker logs*)",
"Bash(docker version*)",
"Bash(docker info*)",
"Bash(kubectl get*)",
"Bash(kubectl describe*)",
"Bash(kubectl logs*)",
"Bash(kubectl top*)",
"Bash(kubectl version*)",
"Bash(kubectl config get-contexts*)",
"Bash(kubectl config view*)",
"Bash(rg*)",
"Bash(fd*)",
"Bash(jq*)",
"Bash(yq*)",
"Bash(ls*)",
"Bash(cat*)",
"Bash(head*)",
"Bash(tail*)",
"Bash(wc*)",
"Bash(file*)",
"Bash(stat*)",
"Bash(du*)",
"Bash(df*)",
"Bash(find*)",
"Bash(which*)",
"Bash(whereis*)",
"Bash(type*)",
"Bash(env)",
"Bash(pwd)",
"Bash(date*)",
"Bash(echo*)",
"Bash(printf*)",
"Bash(uname*)",
"Bash(hostname*)",
"Bash(id*)",
"Bash(groups*)",
"Bash(ps*)",
"Bash(top -b*)",
"Bash(free*)",
"Bash(uptime*)",
"Bash(curl -s*)",
"Bash(curl -sL*)",
"Bash(curl -sI*)",
"Bash(curl -I*)",
"Bash(curl -o*)",
"Bash(curl --silent*)",
"Bash(curl --fail*)",
"Bash(wget -O*)",
"Bash(wget --quiet*)",
"Bash(grep*)",
"Bash(awk*)",
"Bash(sed -n*)",
"Bash(sort*)",
"Bash(uniq*)",
"Bash(cut*)",
"Bash(tr*)",
"Bash(xargs*)",
"Bash(tee*)",
"Bash(column*)",
"Bash(base64*)",
"Bash(md5sum*)",
"Bash(sha256sum*)",
"Bash(psql -c \\dt*)",
"Bash(psql -c \\dn*)",
"Bash(psql -c \\l*)",
"Bash(psql -c SELECT*)",
"Bash(redis-cli INFO*)",
"Bash(redis-cli DBSIZE*)",
"Bash(redis-cli KEYS*)",
"Bash(redis-cli GET*)",
"Bash(redis-cli TYPE*)",
"Bash(redis-cli PING*)"
],
"deny": [
"Bash(git push --force*)",
"Bash(git push -f*)",
"Bash(git push origin main*)",
"Bash(git push origin master*)",
"Bash(git clean -fdx*)",
"Bash(git commit --amend*)",
"Bash(git filter-branch*)",
"Bash(git filter-repo*)",
"Bash(git branch -D*)",
"Bash(git tag -d*)",
"Bash(git push*--delete*)",
"Bash(rm -rf /*)",
"Bash(rm -rf ~*)",
"Bash(rm -rf ~/*)",
"Bash(rm -rf /Volumes/*)",
"Bash(sudo*)",
"Bash(su*)",
"Bash(chmod 777*)",
"Bash(chown*)",
"Bash(docker system prune*)",
"Bash(docker volume rm*)",
"Bash(docker volume prune*)",
"Bash(docker image prune*)",
"Bash(docker rm*)",
"Bash(docker rmi*)",
"Bash(az login*)",
"Bash(az logout*)",
"Bash(az account set*)",
"Bash(az containerapp update*)",
"Bash(az containerapp create*)",
"Bash(az containerapp delete*)",
"Bash(az containerapp restart*)",
"Bash(az containerapp revision set-mode*)",
"Bash(az containerapp revision activate*)",
"Bash(az containerapp revision deactivate*)",
"Bash(az containerapp revision restart*)",
"Bash(az containerapp ingress update*)",
"Bash(az containerapp ingress cors update*)",
"Bash(az containerapp identity assign*)",
"Bash(az containerapp identity remove*)",
"Bash(az containerapp env create*)",
"Bash(az containerapp env update*)",
"Bash(az containerapp env delete*)",
"Bash(az containerapp job create*)",
"Bash(az containerapp job update*)",
"Bash(az containerapp job delete*)",
"Bash(az containerapp job start*)",
"Bash(az containerapp job stop*)",
"Bash(az deployment group create*)",
"Bash(az deployment group delete*)",
"Bash(az deployment sub create*)",
"Bash(az deployment sub delete*)",
"Bash(az keyvault create*)",
"Bash(az keyvault update*)",
"Bash(az keyvault delete*)",
"Bash(az keyvault secret set*)",
"Bash(az keyvault secret delete*)",
"Bash(az keyvault secret restore*)",
"Bash(az keyvault key create*)",
"Bash(az keyvault key delete*)",
"Bash(az keyvault key restore*)",
"Bash(az keyvault certificate create*)",
"Bash(az keyvault certificate delete*)",
"Bash(az acr create*)",
"Bash(az acr delete*)",
"Bash(az acr update*)",
"Bash(az acr login*)",
"Bash(az acr import*)",
"Bash(az acr build*)",
"Bash(az acr task create*)",
"Bash(az acr task update*)",
"Bash(az acr task delete*)",
"Bash(az acr task run*)",
"Bash(az acr repository delete*)",
"Bash(az acr repository untag*)",
"Bash(az postgres server create*)",
"Bash(az postgres server delete*)",
"Bash(az postgres server update*)",
"Bash(az postgres server restart*)",
"Bash(az postgres flexible-server create*)",
"Bash(az postgres flexible-server delete*)",
"Bash(az postgres flexible-server update*)",
"Bash(az postgres flexible-server restart*)",
"Bash(az postgres flexible-server start*)",
"Bash(az postgres flexible-server stop*)",
"Bash(az postgres flexible-server db create*)",
"Bash(az postgres flexible-server db delete*)",
"Bash(az redis create*)",
"Bash(az redis delete*)",
"Bash(az redis update*)",
"Bash(az redis regenerate-keys*)",
"Bash(az storage account create*)",
"Bash(az storage account delete*)",
"Bash(az storage account update*)",
"Bash(az storage blob upload*)",
"Bash(az storage blob delete*)",
"Bash(az storage blob copy*)",
"Bash(az storage container create*)",
"Bash(az storage container delete*)",
"Bash(az staticwebapp create*)",
"Bash(az staticwebapp delete*)",
"Bash(az staticwebapp update*)",
"Bash(az group create*)",
"Bash(az group delete*)",
"Bash(az group update*)",
"Bash(az resource create*)",
"Bash(az resource delete*)",
"Bash(az resource update*)",
"Bash(az resource move*)",
"Bash(az role assignment create*)",
"Bash(az role assignment delete*)",
"Bash(az identity create*)",
"Bash(az identity delete*)",
"Bash(az network vnet create*)",
"Bash(az network vnet delete*)",
"Bash(az network vnet update*)",
"Bash(az network nsg rule create*)",
"Bash(az network nsg rule delete*)",
"Bash(gh pr merge*)",
"Bash(gh pr close*)",
"Bash(gh pr review --approve*)",
"Bash(gh pr review --request-changes*)",
"Bash(gh release create*)",
"Bash(gh release delete*)",
"Bash(gh release edit*)",
"Bash(gh repo delete*)",
"Bash(gh repo archive*)",
"Bash(gh repo create*)",
"Bash(gh repo rename*)",
"Bash(gh repo transfer*)",
"Bash(gh secret set*)",
"Bash(gh secret delete*)",
"Bash(gh variable set*)",
"Bash(gh variable delete*)",
"Bash(gh workflow disable*)",
"Bash(gh workflow enable*)",
"Bash(gh label create*)",
"Bash(gh label delete*)",
"Bash(gh label edit*)",
"Bash(terraform destroy*)",
"Bash(terraform apply*)",
"Bash(terraform taint*)",
"Bash(terraform import*)",
"Bash(kubectl delete*)",
"Bash(kubectl apply*)",
"Bash(kubectl create*)",
"Bash(kubectl edit*)",
"Bash(kubectl patch*)",
"Bash(kubectl replace*)",
"Bash(kubectl scale*)",
"Bash(kubectl rollout*)",
"Bash(kubectl exec*)",
"Bash(kubectl cp*)",
"Bash(alembic downgrade*)",
"Bash(dropdb*)",
"Bash(createdb*)",
"Bash(pg_dump --clean*)",
"Bash(psql*DROP*)",
"Bash(psql*DELETE FROM*)",
"Bash(psql*TRUNCATE*)",
"Bash(psql*UPDATE*)",
"Bash(psql*production*)",
"Bash(redis-cli FLUSHDB*)",
"Bash(redis-cli FLUSHALL*)",
"Bash(redis-cli CONFIG*)",
"Bash(redis-cli DEBUG*)",
"Bash(redis-cli SHUTDOWN*)",
"Bash(ssh*)",
"Bash(scp*)",
"Bash(rsync --delete*)",
"Read(./**/.env)",
"Read(./**/.env.local)",
"Read(./**/.env.production)",
"Read(./**/.env.development)",
"Read(./**/secrets/**)",
"Read(./**/*.pem)",
"Read(./**/*.key)",
"Read(./casdoor-internal/conf/app.conf)",
"Write(./**/.env)",
"Write(./**/.env.local)",
"Write(./**/.env.production)",
"Write(./**/secrets/**)"
]
},
"env": {
"DISABLE_TELEMETRY": "0",
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "32000"
},
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "bash $CLAUDE_PROJECT_DIR/.claude/hooks/pre-commit-check.sh"
}
]
}
]
}
}