systemd ошибка "status=203/EXEC" при создании новой службы

Просто посмотрите мой пост здесь, на ubuntuforums:

http://ubuntuforums.org/showthread.php?t=1497253

Создать виртуальный диск

dd if=/dev/zero of=virtual.dsk bs=1048576 count=150

Форматировать это

mkfs.vfat virtual.dsk

Смонтировать

sudo mkdir -p /mnt/vfat
sudo mount virtual.dsk /mnt/vfat -t vfat -o loop

PS: Постоянно смонтировать:

/path/to/virtual.dsk /mnt/vfat vfat loop,owner,group,umask=000 0 0

Вместе с дополнительной информацией здесь: http://fatter-keine.dk/helptipsguides/ubuntu/understanding_fstab.html

2
03.10.2018, 13:44
5 ответов

Попробуйте:

pi@raspberrypi:~ $ systemctl status ReadPressure.service

Перефразируя @Ingo из Мне не удается запустить программу Python в Thonny при запуске

Сообщение об ошибке (code=exited, status=203/EXEC )часто появляется, когда не удается выполнить сам скрипт или его интерпретатор.

Это могло иметь следующие причины:

  • неверный путь к скрипту (например. /home/py/ReadPressure2AndPostToMqtt.py)

  • скрипт не выполняется

  • но шебанг (первая строка)

  • неверный путь в шебанге (напр. /bin/python3)

  • Во внутренних файлах вашего скрипта могут отсутствовать права доступа.

  • SELinux может препятствовать выполнению параметра ExecStart; проверьте /var/log/audit/audit.log на наличие сообщений формы:type=AVC msg=audit([...]): avc: denied { execute }или в выводе ausearch -ts recent -m avc -i.

  • Неверный параметр WorkingDirectory

26
27.01.2020, 22:02

Вам может понадобиться процитировать вашу команду, например.:

ExecStart="/bin/bash -c 'python3 bla blah'"
5
06.04.2020, 20:40

Для меня проблема была на самом деле предыдущей службой с тем же именем, которую я пытался установить ранее. Я мог сказать, что это была проблема, по ссылкам на старую службу в журнале. Удаление старой службы и запуск «systemctl daemon -reload» устранили проблему для меня.

1
15.05.2020, 21:50

В моем случае я получил следующую ошибку :... /usr/bin/env: 'python3\r': No such file or directoryна основе шебанга:

#!/usr/bin/env python3

Мне понадобилось некоторое время, чтобы заметить возвращение Кареты '\r'. После удаления все заработало.

1
09.03.2021, 11:18

Другой возможной причиной status=203/EXECможет быть SELinux. В моем случае у меня был юнит-файл, который запускал скрипт Python :

.
[Unit]
Description=LibreNMS SNMP Poller Service
After=network.target

[Service]
ExecStart=/opt/librenms/librenms-service.py -v -d
ExecReload=/bin/kill -HUP $MAINPID
WorkingDirectory=/opt/librenms
User=librenms
Group=librenms
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Сценарий Python имел дескриптор типа SELinux httpd_sys_content_t, выполнение которого было запрещено. Я увидел ошибку, используя audit2why < /var/log/audit/audit.log, которая выглядела как

type=AVC msg=audit(1631272189.992:1032): avc:  denied  { execute } for  pid=2873 comm="(rvice.py)" name="librenms-service.py" dev="sda3" ino=714393 scontext=system_u:system_r:init_t:s0 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=file permissive=0

        Was caused by:
                Missing type enforcement (TE) allow rule.

                You can use audit2allow to generate a loadable module to allow this access.

В итоге я отредактировал контекст безопасности.

Непостоянное редактирование (для тестирования):

chcon -t bin_t /opt/librenms/librenms-service.py

Постоянное редактирование:

semanage fcontext -a -t bin_t '/opt/librenms/librenms-service.py'
restorecon -Fv /opt/bin/librenms-service.py
3
10.09.2021, 12:41

Теги

Похожие вопросы