对非 root 用户隐藏 systemd 服务

对非 root 用户隐藏 systemd 服务

我在 Ubuntu 18.04 上的 systemd 中有一个自定义服务条目。主要可执行文件是一个创建一些进程的脚本:

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

相关内容