Служба отчётов lab-worker работала от root, хотя root ей не нужен. Коллега поправил файл юнита — теперь там User=student — и написал: «готово». Проверь, от какого пользователя работает служба.
Кто запускает lab-worker
Прочитай файл юнита lab-worker, посмотри, от какого пользователя работает процесс службы — программа sleep, — и прочитай сводку службы.
Сначала предположи
В файле юнита User=student. Что напечатает ps в столбце USER у процесса sleep?
Теперь начни упражнение, выполни команду и сверь прогноз с выводом.
Почему процесс lab-worker работает от root, хотя в файле юнита User=student?
-
Сводка просит не перезагрузку, а
systemctl daemon-reload— команду, которая перечитывает файлы юнитов. -
systemd работает с этим файлом: путь к нему стоит в строке
Loadedсводки, а предупреждение в конце говорит, что файл изменился. -
Службы запускает systemd от того пользователя, что указан в загруженном описании. Сводка говорит о другом: файл изменился, его нужно перечитать.
Процесс запущен по старому описанию с User=root, а новый файл systemd ещё не перечитал — об этом и предупреждает сводка.