SystemdDoctor
мешает работе конфигурация права

Configuration file is marked executable

Предупреждение появляется, когда на unit-файле выставлен бит исполнения. Запуск службы при этом проходит, но причина такой пометки обычно говорит о путанице: файл создали копированием скрипта или распаковали из архива вместе с правами.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Файл создан копированием скрипта

    Права наследуются от источника. Из скрипта получается unit-файл с битом исполнения, который здесь не нужен.

  2. Файлы распакованы из архива с правами

    Архив сохраняет права. После распаковки все файлы оказываются исполняемыми.

  3. В каталоге unit лежит скрипт

    Настоящий скрипт в каталоге описаний тоже даёт это предупреждение и мешает читать журнал загрузки.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Какие файлы помечены исполняемыми.

sudo find /etc/systemd/system -maxdepth 1 -type f -perm -u+x 2>/dev/null

Предупреждения при загрузке описаний.

journalctl -b --no-pager | grep -i "marked executable" | tail

Права на unit-файлы.

sudo ls -l /etc/systemd/system/*.service | head

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Файл создан копированием скрипта
Почему происходит
Права наследуются от источника. Из скрипта получается unit-файл с битом исполнения, который здесь не нужен.
Как проверить
Посмотрите права файла и предупреждение.
sudo ls -l /etc/systemd/system/myapp.service
journalctl -b --no-pager | grep -i "marked executable" | tail -3
Как исправить
Уберите бит исполнения. Unit-файл — описание, а не программа: systemd его читает, а не запускает.
sudo chmod 644 /etc/systemd/system/myapp.service
2. Файлы распакованы из архива с правами
Почему происходит
Архив сохраняет права. После распаковки все файлы оказываются исполняемыми.
Как проверить
Посмотрите права на все свои unit-файлы.
sudo find /etc/systemd/system -maxdepth 1 -type f -perm -u+x -name "*.service" 2>/dev/null
Как исправить
Исправьте права разом по всем найденным файлам. Заодно стоит проверить, не попали ли в каталог посторонние файлы.
3. В каталоге unit лежит скрипт
Почему происходит
Настоящий скрипт в каталоге описаний тоже даёт это предупреждение и мешает читать журнал загрузки.
Как проверить
Посмотрите, что за файл помечен исполняемым.
sudo file /etc/systemd/system/* 2>/dev/null | grep -v "ASCII text$" | head
Как исправить
Перенесите скрипты в подходящий каталог и ссылайтесь на них из описания службы. В каталоге описаний должны быть только описания.

Пример вывода

Unit-файл создан копированием скрипта. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

systemd[1]: /etc/systemd/system/myapp.service:1: Configuration file /etc/systemd/system/myapp.service is marked executable. Please remove executable permission bits. Proceeding anyway.

$ sudo ls -l /etc/systemd/system/myapp.service
-rwxr-xr-x 1 root root 412 Sep 15 20:22 /etc/systemd/system/myapp.service

Связанные ошибки

Источники

  • systemd.unit(5)
    Права на файлы описаний.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Проверено на systemd 255: предупреждение появляется при выставленном бите исполнения.
    собственная проверка, systemd 255
    сверено 15 сентября 2026