LINUX.ORG.RU

systemd - Failed to enable unit: Access denied

 


1

1

Пытаюсь написать системд юнит, который будет просто запускать баш-скрипт.

[Unit]
Description=KB-Layout-Signal-Watcher
After=network.target

[Service]
Type=simple
#Restart=always
#RestartSec=1
#PIDFile=/tmp/kb-layout-signal-watcher.pid
#WorkingDirectory=/tmp/

#User=root
#Group=root

#OOMScoreAdjust=-1000

#Environment=PATH=/bin/

ExecStart=/bin/bash /home/bvn13/develop/kb-layout-caps-led/scripts/kb-layout-signal-watcher.sh
#ExecStop=kill -0 `cat /tmp/kb-layout-signal-watcher.pid`
#ExecReload=kill -0 `cat /tmp/kb-layout-signal-watcher.pid` && /bin/bash /home/bvn13/develop/kb-layout-caps-led/scripts/kb-layout-signal-watcher.sh

#TimeoutSec=300
#TimeoutStartSec=0

[Install]
WantedBy=multi-user.target

Но он не хочет запускаться

# systemctl enable kb-layout-signal-watcher.service
Failed to enable unit: Access denied

Уже все опции поотключал - не пойму. Что ему надо?

★★★★★
Ответ на: комментарий от pfg

нет же. у меня на серверах с убунтой 16.04 сами файлы-юниты лежат то в хомяке, то еще где, а линки на них - в /etc/systemd/system. и все работает.

мне удалось автоматически создать линк, но демон не запускается

[root@bvn13-book daemons]# systemctl link /home/bvn13/develop/kb-layout-caps-led/daemons/kb-layout-signal-watcher.service
Created symlink /etc/systemd/system/kb-layout-signal-watcher.service → /home/bvn13/develop/kb-layout-caps-led/daemons/kb-layout-signal-watcher.service.
[root@bvn13-book daemons]# systemctl enable kb-layout-signal-watcher.service
Failed to enable unit: Access denied

bvn13 ★★★★★
() автор топика
Последнее исправление: bvn13 (всего исправлений: 1)
Ответ на: комментарий от bvn13

мне удалось автоматически создать линк, но демон не запускается

Ты бы хоть ман почитал прежде чем на системд жаловаться. «systemctl enablre» *не* запускает твой сервис.

anonymous
()
Ответ на: комментарий от bvn13

Ровно то, что сказал. «systemctl start» запускает сервис, а «systemctl enable» — *разрешает* запускать его автоматически. При «systemctl enable» в /etc/systemd/system/multi-user.target.wants/ создаётся ссылка на твой юнит. Systemctl, видимо, эту ссылку создать не может. Ищи почему: настоящий ли ты рут, не мешает ли тебе селинукс или что-то подобное и т. д.

anonymous
()
Ответ на: комментарий от anonymous

Systemctl, видимо, эту ссылку создать не может.

ну так я с этого и начал тред

Ищи почему: настоящий ли ты рут,

да

не мешает ли тебе селинукс или что-то подобное и т. д.

хм. Я, конечно, проверю еще раз селинукс… а что еще может мешать? не нашел я доков по этому поводу.

bvn13 ★★★★★
() автор топика
Последнее исправление: bvn13 (всего исправлений: 2)
Ответ на: комментарий от bvn13

ну так я с этого и начал тред

Ты начал тред с того, что заявил: «Но он не хочет *запускаться*», потом добавил: «Уже все опции поотключал - не пойму. Что ему надо?» Что ты называешь «опциями»? Те закоменнтаренные строчки в твоём юните? Твоя жалоба и вот эта строчка

#ExecStop=kill -0 `cat /tmp/kb-layout-signal-watcher.pid`

ясно показывают что ты вообще не парился чтобы изучать вопрос. Так, наговнокодил херни какой-то.

Сходи в /etc/systemd/system, проверь есть ли там каталог multi-user.target.wanted, какие на него права, попробуй ручками создать там файл, попробуй сделать systemctl enable для какого-нибудь другого сервиса (желательно, у которого WantedBy такой же, как у твоего), сделай restorecon -Fv *, наконец посмотри логи, особенно логи аудита… Проблема решается, скорее всего, тривиально.

anonymous
()
Ответ на: комментарий от anonymous

Ещё я бы положил свой юнит в /etc/systemd/system с последующим chmod go-w && restorecon -Fv — не исключено, что твой юнит файл открыт на запись кому угодно, а системд это не нравится.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.