Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

SCRIPT_PERMISSION_DENIED Linux / DevOps

Ошибка Bash 'Permission denied': как дать права на запуск скрипта (chmod +x)

Обновлено: 26.08.2026 · Официальная документация ↗

Вы создали или скачали Bash-скрипт deploy.sh, пытаетесь запустить его командой ./deploy.sh, но терминал возвращает ошибку «bash: ./deploy.sh: Permission denied» (Отказано в доступе), хотя вы являетесь владельцем файла.

Почему возникает ошибка «Permission denied»?

В операционной системе Linux все созданные текстовые файлы по умолчанию имеют права только на чтение (r) и запись (w), но не имеют права на исполнение (x - Execute). Это защитный механизм, чтобы скачанные файлы не могли случайно запуститься как программа.


Решение в 2 шага:

Шаг 1. Добавляем флаг исполняемости (команда chmod +x)

Откройте терминал в папке со скриптом и выполните команду:

chmod +x script.sh

(Замените script.sh на реальное имя вашего файла).

Флаг +x (eXecute) говорит ядру Linux: «Разрешить запуск этого файла как исполняемой программы».


Шаг 2. Запускаем скрипт

Теперь запустите файл, указав точку и слэш перед именем:

./script.sh

Точка и слэш ./ сообщают терминалу: «Ищи программу именно в текущей папке, а не в системных директориях Linux».


Проверка прав доступа (команда ls -l)

Посмотрите на права файла до и после команды chmod +x:

ls -l script.sh
  • Было: -rw-r--r-- 1 user user 120 Jan 15 script.sh (буквы 'x' нет)
  • Стало: -rwxr-xr-x 1 user user 120 Jan 15 script.sh (появились буквы 'x', файл подсвечен зеленым цветом)
💡 Практика специалистов: Если вы редактировали скрипт на компьютере с Windows (в Блокноте), скрипт может упасть с ошибкой '$'\r': command not found' из-за невидимых символов переноса строк DOS. Исправьте это утилитой: dos2unix script.sh.

Частые вопросы (FAQ)

Зачем нужна первая строчка #!/bin/bash (Shebang) внутри скрипта?

Символы '#!' называются шебанг. Они указывают операционной системе, каким именно интерпретатором (в данном случае /bin/bash или /usr/bin/env python3) нужно выполнять код этого файла.

Можно ли запустить скрипт без команды chmod +x?

Да. Вы можете передать файл напрямую интерпретатору: bash script.sh. В этом случае право на исполнение файла не требуется, достаточно права на чтение.

Что делать, если chmod +x не помогает из-за ошибки 'Operation not permitted'?

Значит, файл принадлежит другому пользователю (например, root). Выполните команду с правами администратора: sudo chmod +x script.sh.

Что означают цифры chmod 755 или chmod 777?

Это числовой формат задания прав. 755 дает владельцу полные права (чтение/запись/запуск), а остальным — только чтение и запуск. Команда chmod 777 дает полные права вообще всем пользователям (не рекомендуется из соображений безопасности).

Полезные материалы
Рекомендуем