#Что означает ошибка
203/EXEC
Код 203 означает, что исполняемый файл не найден или нет прав. Проверьте путь, права, shebang и SELinux.
#Причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Неверный путь | В случае «systemd: status=203/EXEC — не удалось выполнить ExecStart» проверьте наличие причины «Неверный путь» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения. | Исправьте. Конкретное действие зависит от проверки причины «Неверный путь», описанной в пошаговой инструкции. |
| Нет прав на запуск | Сообщение о запрете доступа возникает у конкретной учётной записи; сравните её права и права нужного файла, функции либо сетевого ресурса. | Проверьте доступ нужной учётной записи и задайте только необходимые разрешения; не отключайте защиту всей системы. |
| Нет shebang | В случае «systemd: status=203/EXEC — не удалось выполнить ExecStart» проверьте наличие причины «Нет shebang» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения. | Добавьте. Конкретное действие зависит от проверки причины «Нет shebang», описанной в пошаговой инструкции. |
| SELinux | В случае «systemd: status=203/EXEC — не удалось выполнить ExecStart» проверьте наличие причины «SELinux» по исходному действию и связанному сообщению; переходить к исправлению стоит после её подтверждения. | Настройте. Конкретное действие зависит от проверки причины «SELinux», описанной в пошаговой инструкции. |
#Пошаговое решение
- Определите причинуВыполните
systemctl status имя.service -lиsystemctl cat имя.service; перепишите фактический ExecStart и код203/EXEC. Эта ошибка относится к запуску команды, а не к сетевому порту приложения, если оно ещё не стартовало. - Выполните подходящее исправлениеПроверьте
ls -l /путь/к/исполняемому_файлуиnamei -lдля всех родительских каталогов. Если файла нет, исправьте путь или установите нужную программу штатным пакетом; если нет права исполнения, исправляйте конкретный файл с учётом пользователя службы. - Проверьте другие возможные причиныДля скриптов проверьте первую строку
#!/..., наличие интерпретатора, CRLF и возможное монтированиеnoexec. Не меняйте права на весь раздел и не запускайте скрипт как root, если unit должен работать под отдельной учётной записью. Сохраните копию unit перед изменением. - Убедитесь в результатеПосле исправления
ExecStartзапуститеsudo systemctl daemon-reload, затемsudo systemctl start имя.serviceи прочитайте новый статус и журнал. Если код изменился, исследуйте новую причину, не маскируя её отключением проверок systemd.
#Если проблема осталась
Если «systemd: status=203/EXEC — не удалось выполнить ExecStart» повторяется, сохраните время, состояние подключения и точный текст ошибки. Не меняйте сразу несколько настроек — иначе станет трудно понять, какое действие повлияло на результат.