[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.service
● arpwatch 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