I am trying to write systemd services for the sync jobs, but I am not sure which user should execute which of the commands.
In cron, I had:
0 14 * * * sudo -u gvm /opt/gvm/bin/greenbone-nvt-sync
0 15 * * * greenbone-feed-sync --type GVMD_DATA
0 16 * * * greenbone-feed-sync --type SCAP
0 17 * * * greenbone-feed-sync --type CERT
When I however try to run, for example GVMD_DATA without User=gvm, in the systemd service, I get:
Service:
[Unit]
Description=Greenbone GVMD_DATA Sync
Wants=greenbone-gvmd_data-sync.timer
[Service]
Type=simple
ExecStart=/opt/gvm/bin/greenbone-feed-sync --type GVMD_DATA
[Install]
WantedBy=multi-user.target
Error:
Feb 16 10:13:23 idc.ovas2.prod.hous.prg.mynet.cz systemd[1]: Started Greenbone GVMD_DATA Sync.
Feb 16 10:13:23 idc.ovas2.prod.hous.prg.mynet.cz greenbone-feed-sync[3105234]: su: user @GVM_DEFAULT_DROP_USER@ does not exist
Feb 16 10:13:23 idc.ovas2.prod.hous.prg.mynet.cz systemd[1]: greenbone-gvmd_data-sync.service: Main process exited, code=exited, status=1/FAILURE
Feb 16 10:13:23 idc.ovas2.prod.hous.prg.mynet.cz systemd[1]: greenbone-gvmd_data-sync.service: Failed with result 'exit-code'.
If I edit the systemd service like so, I get a different error, but the service no longer is marked as failed:
Service:
[Unit]
Description=Greenbone GVMD_DATA Sync
Wants=greenbone-gvmd_data-sync.timer
[Service]
Type=simple
ExecStart=/opt/gvm/bin/greenbone-feed-sync --type GVMD_DATA
User=gvm
Group=gvm
[Install]
WantedBy=multi-user.target
Error:
Feb 16 10:14:44 idc.ovas2.prod.hous.prg.mynet.cz greenbone-feed-sync[3105292]: If you have any questions, please use the Greenbone community portal.
Feb 16 10:14:44 idc.ovas2.prod.hous.prg.mynet.cz greenbone-feed-sync[3105292]: See https://community.greenbone.net for details.
Feb 16 10:14:44 idc.ovas2.prod.hous.prg.mynet.cz greenbone-feed-sync[3105292]: By using this service you agree to our terms and conditions.
Feb 16 10:14:44 idc.ovas2.prod.hous.prg.mynet.cz greenbone-feed-sync[3105292]: Only one sync per time, otherwise the source ip will be temporarily blocked.
Feb 16 10:14:45 idc.ovas2.prod.hous.prg.mynet.cz greenbone-feed-sync[3105292]: receiving incremental file list
Feb 16 10:14:45 idc.ovas2.prod.hous.prg.mynet.cz greenbone-feed-sync[3105292]: timestamp
Feb 16 10:14:45 idc.ovas2.prod.hous.prg.mynet.cz greenbone-feed-sync[3105292]: [110B blob data]
Feb 16 10:14:45 idc.ovas2.prod.hous.prg.mynet.cz greenbone-feed-sync[3105292]: sent 43 bytes received 114 bytes 104.67 bytes/sec
Feb 16 10:14:45 idc.ovas2.prod.hous.prg.mynet.cz greenbone-feed-sync[3105292]: total size is 13 speedup is 0.08
Feb 16 10:14:45 idc.ovas2.prod.hous.prg.mynet.cz greenbone-feed-sync[3105292]: /opt/gvm/bin/greenbone-feed-sync: line 610: @GVM_FEED_LOCK_PATH@: Permission denied
What is the correct method for each of the feed syncs and the NVT sync?