«Как выдать OpenClaw полные права?», «Как убрать ограничения и подтверждения?», «Что такое su-режим?» — одни из самых частых вопросов. В этой статье — честный гайд: как это сделать, как делать безопасно, и почему «отключить всё» — обычно плохая идея.
Дисклеймер. OpenClaw — это автономный агент, который может читать ваши файлы, выполнять команды и обращаться к интернету. Полное снятие ограничений (yolo-mode) допустимо только в изолированной среде (Docker, отдельная VM, временный sandbox). На рабочей машине это эквивалентно запуску
rm -rfс правами sudo по доверию.
Как устроены permissions в OpenClaw
OpenClaw разделяет действия на три класса:
- Чтение —
Read,Glob,Grep. По умолчанию разрешено в пределахallowedPaths. - Запись —
Edit,Write,NotebookEdit. По умолчанию требует подтверждения для каждой операции. - Выполнение —
Bash, MCP-инструменты, сетевые запросы. По умолчанию требует подтверждения каждой команды.
Файл настроек: ~/.openclaw/settings.json (глобально) или .openclaw/settings.json (на проект).
{
"permissions": {
"allow": [
"Read(./**)",
"Write(./src/**)",
"Bash(npm test:*)",
"Bash(git status)",
"Bash(git diff:*)"
],
"deny": [
"Read(.env*)",
"Write(.env*)",
"Bash(rm -rf:*)",
"Bash(sudo:*)",
"Bash(curl:*)"
],
"ask": [
"Bash(git push:*)",
"Bash(npm publish:*)"
]
}
}
Логика: deny побеждает allow, allow — ask. Всё, что не попало ни в один список, попадает в дефолтный режим (обычно — спросить).
Способ 1: расширить allow вместо «всё подряд»
Самый безопасный путь — точечно разрешить то, что вы реально часто подтверждаете:
{
"permissions": {
"allow": [
"Bash(npm:*)",
"Bash(git status)",
"Bash(git diff:*)",
"Bash(git log:*)",
"Bash(ls:*)",
"Bash(cat:*)",
"Read(./**)",
"Write(./src/**)",
"Write(./tests/**)"
]
}
}
Подсказка: запустите openclaw в обычном режиме на несколько часов, потом запросите у агента «составь список Bash-команд, которые я подтверждал — добавь самые частые read-only в allow». Дальше — см. встроенный скилл fewer-permission-prompts.
Способ 2: режим «авто-подтверждение для проекта» (Auto-accept)
В чате OpenClaw наберите:
/auto-accept on
Это включит автоматическое подтверждение всех действий в рамках текущей сессии, без правки конфига. Используйте, когда:
- работаете в Docker-контейнере или VM
- репозиторий под git и вы можете легко откатить изменения
- нужно прогнать длинную многошаговую задачу без отвлечения
/auto-accept off — выключить.
Способ 3: yolo-mode (полное снятие подтверждений)
Это и есть тот самый «отключить все ограничения». Запуск:
openclaw --dangerously-skip-permissions
Или через настройки:
{
"permissions": {
"mode": "bypass",
"allow": ["*"]
}
}
Что произойдёт: агент выполнит любую команду без спроса — rm, curl https://..., git push --force, изменение .env, всё что угодно. Не выводит даже предупреждения.
Когда уместно:
- Внутри Docker-контейнера, который вы готовы выкинуть.
- На временной VM/dev-стенде без доступа к продовым данным.
- В CI/CD-пайплайне с известным набором задач.
Когда категорически нет:
- На рабочем ноутбуке с доступом к git push, SSH-ключам, корпоративным паролям.
- На сервере с продовой БД.
- Если вы получаете задачи от непроверенных источников (там может быть prompt injection).
Способ 4: su-режим — повышенные права
«su-режим» в обсуждениях OpenClaw обычно означает запуск под root/admin. Это не отдельный режим OpenClaw, а свойство процесса:
sudo openclaw # ⚠ опасно
При запуске под root агент сможет менять системные файлы, ставить пакеты глобально, читать чужие домашние каталоги. Никогда не запускайте OpenClaw под sudo на рабочей машине. Если нужны root-привилегии для конкретной задачи — добавьте конкретную команду в allow с sudo:
{
"permissions": {
"allow": ["Bash(sudo systemctl restart myapp)"]
}
}
И настройте sudoers так, чтобы эта команда не требовала пароля, а остальные — требовали.
Безопасный yolo: Docker-контейнер
Лучший способ «отключить все ограничения» без последствий — запустить OpenClaw в Docker:
docker run --rm -it \
-v $(pwd):/workspace \
-w /workspace \
-e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
openclaw/openclaw:latest \
openclaw --dangerously-skip-permissions
Контейнер не имеет доступа к вашим SSH-ключам, паролям, другим репозиториям. Если что-то пойдёт не так — docker rm и нет проблемы. Подробнее — Docker и безопасность OpenClaw и Docker-контейнер для разработки.
Что обязательно держать в deny, даже в yolo
Если уж вы снимаете ограничения, оставьте хоть это:
{
"permissions": {
"deny": [
"Read(.env*)",
"Read(**/secrets/**)",
"Read(~/.ssh/**)",
"Read(~/.aws/**)",
"Read(~/.config/gh/**)",
"Bash(rm -rf /:*)",
"Bash(sudo rm:*)",
"Bash(:(){ :|:& };:)"
]
}
}
Это не панацея — креативный prompt injection обойдёт, — но снимает большую часть случайных факапов.
Чек-лист перед включением yolo
- Работаю в Docker / VM / изолированном workspace
- В текущей папке нет
.envс продовыми ключами - Git: всё закоммичено или не критично
- Нет доступа к SSH-ключам с прод-серверам
- Источник задачи — я сам, не внешний документ/email
- Я могу откатить всё за 5 минут
Если хоть один пункт «нет» — yolo не включаем.