Назад | Перейти на главную страницу

Скрыть службу systemd для пользователей без полномочий root

У меня есть пользовательская запись службы в systemd на Ubuntu 18.04. Основной исполняемый файл - это скрипт, который создает несколько процессов:

foor@bar:~$ systemctl status XXXXXX.service
● XXXXXX.service - XXXXXX
   Loaded: loaded (/etc/systemd/system/XXXXXX.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2018-11-19 14:18:39 UTC; 25min ago
  Process: 4210 ExecStart=/usr/bin/XXXXXX (code=exited, status=0/SUCCESS)
    Tasks: 43 (limit: 4915)
   CGroup: /system.slice/XXXXXX.service
           ├─3383 python3 XXXXXX
           ├─4168 python3 XXXXXX
           ├─4619 hostapd -B XXXXXX
           ├─4623 hostapd -B XXXXXX
           ├─4639 wpa_supplicant XXXXXX
           ├─4649 wpa_supplicant XXXXXX
           ├─4659 wpa_supplicant XXXXXX
           ├─4669 wpa_supplicant XXXXXX
           ├─4679 wpa_supplicant -B XXXXXX
           ├─4699 wpa_supplicant -B XXXXXX
           ├─4709 wpa_supplicant -B XXXXXX
           ├─4719 wpa_supplicant -B XXXXXX
           ├─4798 dhcpd XXXXXX
           ├─4802 XXXXXX
           ├─4806 XXXXXX
          ....

файл systemd.service:

[Unit]
Description=XXXXXX
After=network.target

[Service]
User=root
Type=forking
WorkingDirectory=/root/
ExecStart=+XXXXXX
ExecStop=XXXXXX
Restart=on-failure
KillMode=process
TimeoutStartSec=180

[Install]
WantedBy=multi-user.target

Служба имеет образовательные цели, и я хочу скрыть эти процессы от учащихся, чтобы они не могли их видеть, например. ps aux. Потому что это может дать им некоторый контекст, который нежелателен для задачи.

Я пробовал с mount -o remount,rw,hidepid=2 /proc но это вызывает проблемы с другими вещами в настройке, поскольку скрывает все процессы. Итак, мне нужно какое-то решение, которое скрывает только перечисленные процессы с systemctl status XXXXXX.service.