SystemdDoctor
мешает работе path права

Path-unit создаёт каталог с неверными правами

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

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

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

  1. Режим каталога не задан

    Каталог создаётся с правами по умолчанию и владельцем root. Служба от другого пользователя писать в него не сможет.

  2. Каталог нужен и службе, и внешним клиентам

    Если файлы складывает другой пользователь, нужна общая группа: права только для владельца не подойдут.

  3. Наблюдатель следит за каталогом, которого нет

    Без создания каталога наблюдение не работает вовсе: события не приходят.

Диагностика

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

Настройки наблюдателя.

systemctl show myapp.path -p Paths -p MakeDirectory -p DirectoryMode

Права и владелец каталога наблюдения.

ls -ld /var/spool/myapp

Решение

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

1. Режим каталога не задан
Почему происходит
Каталог создаётся с правами по умолчанию и владельцем root. Служба от другого пользователя писать в него не сможет.
Как проверить
Посмотрите права и параметр.
ls -ld /var/spool/myapp
systemctl show myapp.path -p DirectoryMode
Как исправить
Задайте режим в описании наблюдателя. Владельца при необходимости выставьте описанием файлов через механизм tmpfiles.
2. Каталог нужен и службе, и внешним клиентам
Почему происходит
Если файлы складывает другой пользователь, нужна общая группа: права только для владельца не подойдут.
Как проверить
Посмотрите, кто пишет в каталог.
ls -l /var/spool/myapp | head
systemctl show myapp.service -p User
Как исправить
Создайте каталог через описание файлов с нужной группой и правами, а наблюдатель настройте только на слежение.
3. Наблюдатель следит за каталогом, которого нет
Почему происходит
Без создания каталога наблюдение не работает вовсе: события не приходят.
Как проверить
Посмотрите параметр создания и наличие каталога.
systemctl show myapp.path -p MakeDirectory -p Paths
Как исправить
Либо включите создание каталога, либо создайте его заранее описанием файлов.

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

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

$ systemctl show myapp.path -p MakeDirectory -p DirectoryMode
MakeDirectory=yes
DirectoryMode=0755

$ ls -ld /var/spool/myapp
drwxr-xr-x 2 root root 4096 Sep 15 16:02 /var/spool/myapp

app@client[4100]: error: open /var/spool/myapp/job1: permission denied

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

Источники

  • systemd.path(5)
    MakeDirectory= и DirectoryMode=.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено наблюдателем, создающим каталог с правами 0755 от root.
    собственная проверка, systemd 255
    сверено 15 сентября 2026