Я заядлый торрентер, и так как я занят днем, то запуск Transmission-GTK ночью - мой лучший выбор. Тем не менее, мой сервер колледжа любит выгонять людей после продления или ограничения времени загрузки Wi-Fi. Я нуждался в автоматизации, пока я спал.
Используя Java-GTK и Bash, создали приложение, которое вызывает окно с вопросом, какой VPN использовать. Он сохраняет вывод в переменной и связывает его. Затем, если соединение было успешным, оно запускало передачу.
Теперь я установил скрипт, который пингует 8.8.8.8 каждый час в час, если он не работает, он пингует мою школьную сеть. Если этот сбой убивает передачу, то он перезапускает сеть, используя sudo service network-manager restart
. Затем повторно подключается к VPN и, наконец, возобновляет передачу. (Я знаю, что могу использовать stop
/ start
но я предпочитаю не использовать). После использования я столкнулся лицом к лицу и понял, что sudo нужен мой пароль в качестве администратора.
Я исследовал это почти неделю, пытаясь найти какой-то способ дать root-права скрипта, и я видел сотни предупреждений и комментариев "sudo is the way". Я просмотрел файл sudoers, попробовал его, и он не сработал (он по-прежнему запрашивает пароль для самых основных конфигураций). Я также рассмотрел создание двоичного файла C, сообщающего скрипту для запуска с 0 uid, установки этого двоичного файла C на chmod и выбора прав root. Но безрезультатно. (Я не пробовал демонов, так как я очень мало знаю о C.) (В основном Bash и немного Java).
Возможно, скрипт / конфигурация в папке / etc / network? Я не возражаю против ответов, которые работают вне моей оригинальной среды сценариев, так как меры предосторожности предотвращают рутирование сценариев.
PS. Я не ищу предупреждения как ответы, но отвечаю предупреждениями.