Автоматизация перезапуска сети без рут прав и пароля

1

Я заядлый торрентер, и так как я занят днем, то запуск 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. Я не ищу предупреждения как ответы, но отвечаю предупреждениями.

new.KID.ontheBLOCK
источник

Ответы:

1

Судо это путь

Рассматривали ли вы запуск самого скрипта под sudo?

sudo sh .\myScript

Если вы добавите скрипт на уровень пользователя (rc stuff), я думаю, он также будет работать с привилегиями root.

Тамара Вийсман
источник
хммм. Я не ... Я пытался gksudo с ним, и это работает. Так что я могу оставить это, если не увижу более чистого решения. Кроме того, я рассмотрел rc, но обычно это выглядело слишком техническим для 20-минутного вступления. ;) Спасибо!
new.KID.ontheBLOCK
Большинство create rc scriptучебных пособий, которые я могу найти, требуют, чтобы вы читали только в течение 1-2 минут, после чего вы можете просто скопировать, вставить код и выполнить команды. rcэто правильное решение, я не думаю, что есть другие более чистые решения. Какой дистрибутив вы используете?
Тамара Вийсман
Ubuntu (в настоящее время обсуждается тестирование Mint и Debian). Я определенно посмотрю завтра на rc
new.KID.ontheBLOCK
1
.\myscript- Я чувствую тревожное присутствие Windows ... ;-)
Даниэль Андерссон
1
Я создал тестовый скрипт, перезапускающий мою сеть пять раз за 35 минут. Я запустил скрипт в родительском скрипте с привилегиями root с gksudo ./tester2. И это сработало! (Попробую rcпозже столкнуться с проблемами со скриптами рутирования). Спасибо за помощь!
new.KID.ontheBLOCK