Automação de reiniciar a rede sem permissões de root / senha

1
Eu sou um torrenter ávido, e desde que eu estou ocupado deve do dia, tendo Transmission-GTK executado à noite é a minha melhor opção. No entanto, o meu servidor da faculdade gosta de expulsar as pessoas após um limite de tempo prolongado ou um limite de download em wifi. Eu precisava de automação enquanto dormia.

Usando Java-GTK e Bash, criou um aplicativo que abre uma janela perguntando qual VPN usar. Ele armazena a saída em uma variável e a conecta. Então, se a conexão foi um sucesso, iniciou a transmissão.

Agora, eu configurei um script que pula 8.8.8.8 a cada hora a cada hora, se falhar, pinga a rede da minha escola. Se essa falha falhar na transmissão, ela reinicia a rede usando sudo service network-manager restart . Em seguida, reconecta a VPN e, finalmente, reinicia a transmissão. (Eu sei que posso usar stop / start mas eu escolho não). Após o uso, eu enfrentei e percebi que o sudo precisava da minha senha como administrador.

Eu pesquisei isso por quase uma semana, procurando por alguma maneira de dar privilégios de root, e vi centenas de avisos e comentários do tipo "sudo é assim". Eu examinei o arquivo sudoers, tentei e ele não funcionou (ele ainda solicita uma senha para as configurações mais básicas). Eu também olhei para a criação de um binário C dizendo um script para rodar com 0 uid, definindo que o binário C para chmod e chown root permissions. Sem sucesso. (Eu não tentei daemons como eu sei muito pouco de C.) (Principalmente Bash, e um pouco de Java).

Talvez um script / configuração na pasta / etc / network? Não me importo com respostas que funcionem fora do meu framework de script original, pois as precauções de segurança impedem que os scripts sejam enraizados.

PS. Eu não estou procurando por avisos como respostas, mas responde com avisos.

    
por new.KID.ontheBLOCK 06.04.2012 / 10:17

1 resposta

1

sudo é o caminho

Já considerou a execução do próprio script sob o sudo?

sudo sh .\myScript

Se você adicionar o script ao userlevel (coisas do rc), acho que ele também seria executado com privilégios de root.

    
por 06.04.2012 / 10:24