Всем привет. Есть задача перезапускать VPN, так как он переодически отваливается. Упрощенный скрипт состоящий из одной команды отлично стартует из консоли (обычный юзер, не root), успешно поднимая VPN:
#!/bin/bash
nmcli con up VPNS passwd-file /home/sdf/1.txt .
Но вот из под Cron оно уже не работает (при том что сам cron настроен корректно), ошибка следующая
Eror: Connection activation failed: Not authorized to control networking.
если запускаться из под рутового cron: sudo crontab-e , то ошибка другая :
You need to authenticate to access the Virtual Private Network “VPNS”.
Warning: password for 'vpn.secrets.password' not given in 'passwd-file' and nmcli cannot ask without '--ask' option.
Error: Connection activation failed: No valid secrets
Hint: use 'journalctl -xe NM_CONNECTION=bfb8045b-5301-4530-a6ca-ca2bc66731c0 + NM_DEVICE=ens33' to get more details.
Гуглится куча сообщений по данной ошибке, единственное что находится :
https://progi.pro/ne-razresheno-upravlyat-setyu-cron-2931222, но я не пойму что именно предлагается тут сделать
, и будет ли оно вообще работать под Ubuntu 20.04 desktop.
Не пойму что надо сделать с юзером чтобы обойти ошибку?
Пробовал : sudo usermod -G netdev -a sdf , не помогло.
UPD: вроде получилось обходным путём запустить в cron, через sudo crontab -e, команду вида
#!/bin/bash
nmcli con up VPNS --ask , предварительно настроив NOPASSWD для sudo: sudo visudo -> sdf ALL=NOPASSWD:/bin/nmcli