[Eisfair] eisfair mit Systemd

Peter Bäumer peter at baeumer.dd-dns.de
Mi Mär 8 22:04:12 CET 2023


Am 08.03.2023 um 17:00 schrieb Holger Bruenjes:

Glück Auf! Holger
> Hall Marcus
> 

> 
> hmm, wenn du dir darueber Gedanken machst, kannst du auch gleich ein natives unit file fuer systemd anlegen, der Aufwand waere weniger und es waere auch Zukunftsfaehig ;-)
> 


die Passende Unit für arpwatch - vom Ubuntu kopiert ... pff nicht gerade das was ich einfach nennen würde.

Name der Unit ist: arpwatch at .service
zwischen dem @ und dem . (Punkt) kommt der Name der NIC

arpwatch at enp3s0.service

%I bzw %i wird in der Unit dann durch enp3s0 ersetzt.

Ob das so auch auf einem EIS läuft müsste man probieren

###########################################
[Unit]
Description=arpwatch service on interface %I
Documentation=man:arpwatch(8)
PartOf=arpwatch.service
Wants=network-online.target
After=network-online.target

[Service]
PrivateTmp=true
Type=forking
Environment="RUNAS=root"
EnvironmentFile=/etc/default/arpwatch
EnvironmentFile=-/etc/arpwatch/%i.iface
ExecStartPre=/usr/bin/touch -a %i.dat
ExecStartPre=/bin/chown $RUNAS %i.dat
ExecStart=/usr/sbin/arpwatch -u $RUNAS -i %i -f %i.dat $ARGS $IFACE_ARGS -F ${PCAP_FILTER}
Restart=on-failure
ProtectSystem=yes
# CAP_NET_ADMIN, CAP_NET_RAW: grab the arp packages using libpcap
# CAP_SETGID, CAP_SETUID: allow arpwatch to drop privs
# CAP_CHOWN, CAP_DAC_OVERRIDE, CAP_FOWNER: needed for creating the .dat file
CapabilityBoundingSet=CAP_CHOWN CAP_DAC_OVERRIDE CAP_FOWNER CAP_NET_ADMIN CAP_NET_RAW CAP_SETGID CAP_SETUID
WorkingDirectory=/var/lib/arpwatch

[Install]
WantedBy=multi-user.target

###########################################


root at UBUNTU:~# systemctl start arpwatch at enp3s0.service

root at UBUNTU:~# systemctl status arpwatch at enp3s0.servicearpwatch at enp3s0.service - arpwatch service on interface enp3s0
      Loaded: loaded (/lib/systemd/system/arpwatch at .service; disabled; vendor preset: enabled)
      Active: active (running) since Wed 2023-03-08 21:50:51 CET; 2s ago
        Docs: man:arpwatch(8)
     Process: 277677 ExecStartPre=/usr/bin/touch -a enp3s0.dat (code=exited, status=0/SUCCESS)
     Process: 277678 ExecStartPre=/bin/chown $RUNAS enp3s0.dat (code=exited, status=0/SUCCESS)
     Process: 277679 ExecStart=/usr/sbin/arpwatch -u $RUNAS -i enp3s0 -f enp3s0.dat $ARGS $IFACE_ARGS -F ${PCAP_FILTER} (code=exited, status=0/SUCCESS)
    Main PID: 277680 (arpwatch)
       Tasks: 2 (limit: 19047)
      Memory: 3.9M
         CPU: 68ms
      CGroup: /system.slice/system-arpwatch.slice/arpwatch at enp3s0.service
              ├─277680 /usr/sbin/arpwatch -u arpwatch -i enp3s0 -f enp3s0.dat -N -p -F ""
              └─277687 sendmail -odi root

Mär 08 21:50:51 UBUNTU systemd[1]: Starting arpwatch service on interface enp3s0...
Mär 08 21:50:51 UBUNTU systemd[1]: Started arpwatch service on interface enp3s0.




Mehr Informationen über die Mailingliste Eisfair