AUTOR: Manoel Pinho (pinho@uninet.com.br)
Download do shell script: velox.sh
Listagem do shell script (para ver no browser): velox.sh.txt
A idéia começou quando procurei por autenticadores para linux e quis um que tivesse mais recursos. Usei como base uma versão antiga do excelente script id-velox.sh para FreeBSD e Linux, de Fabio Vilan, Aka/Nick Duwde - fabio@isec.com.br, que pode ser encontrado em http://www.isec.com.br/velox/. Logicamente tive que fazer adaptações...
O programa curl foi usado nesta nova versão no lugar do lynx, e sua homepage é
ATENÇÃO: A grande maioria das distribuições linux já vem com o curl em seus CDs e sites de ftp. Portanto, antes de tentar compilar e instalar o curl através do código-fonte, veja se já não existem pacotes binários prontos para a sua distribuição linux.
Como o programa é livre, sintam-se à vontade para inspecionar o código-fonte, que se encontra no site do programa. Viva os programas livres !!
Eu testei várias vezes num Conectiva Linux e uso o provedor Terra aqui no Rio de Janeiro. Não testei com outros provedores mas creio que esteja certo. Qualquer bug ou sugestão de melhoria, por favor me envie um email.
1- Baixe o arquivo velox.sh
2- Certifique-se que tem o programa curl instalado no seu sistema.
3- Caso o seu modem seja do tipo router, o script fará apenas a autenticação e, portanto, você poderá executá-lo mesmo com permissões de usuário comum. Nesse caso, copie para qualquer diretório onde você tenha permissões para rodá-lo e modificá-lo. Eu sugiro o seu próprio diretório pessoal (o $HOME, que é geralmente /home/seulogin).
4- Caso o seu modem seja do tipo bridge, o script terá que chamar o comando adsl-start para iniciar a conexão PPPOE. Como o adsl-start precisa ser executado como root, o script também terá que ser executado assim. Nesse caso, salve o velox.sh em qualquer lugar, tal como /root ou /etc/init.d por exemplo.
5- Edite o arquivo velox.sh e comente/descomente com cuidado as linhas apropriadas ao seu caso. Note que qualquer erro poderá fazer com que o script não funcione corretamente.
6- Rode manualmente usando
sh velox.sh
./velox.sh
(nesse caso o script terá que ter permissão de execução para o usuário, que pode ser dada usando o comando chmod +x velox.sh)
ou ainda "clicando" o ícone correspondente nos gerenciadores gráficos (como o nautilus do Gnome ou konqueror do KDE).
7- O programa foi feito de tal modo que ele verifica se está conectado e, em caso de estar desconectado, realiza o processo de conexão PPPOE (no caso de modems bridge somente) e autenticação, encerrando no final. Caso você deseje que o programa faça isso periodicamente para que verifique a conexão com a internet e a restabeleça automaticamente, eu sugiro usar o programa cron (veja o artigo abaixo). Você poderá chamar o script, por exemplo, de 10 em 10 minutos com o cron.
Para quem não sabe usar o cron, eu reproduzirei por comodidade um tutorial disponível no site br-linux.org:
http://brlinux.linuxsecurity.com.br/tutoriais/001628.html
Marcelo Araujo (msaraujo@tro.matrix.com.br)
Esta é uma republicação do artigo publicado originalmente em 1999 aqui no br-linux.org
O cron é um recurso padrão do Unix (e do Linux) que permite o agendamento de tarefas para serem executadas em um momento específico, ou em intervalos regulares. Por exemplo, você pode programar as tabelas do cron (as chamadas 'crontabs') para:
- checar a integridade dos sistemas de arquivo todos os dias as 5:00 AM e mandar mail do resultado para o root;
- verificar se há mail em suas contas pop a cada 15 minutos
- rodar o updatedb todos os dias às 00:30
- todas as quintas-feiras, às 3:00 AM, procurar por arquivos core desnecessários e excluí-los
A administração do cron para usuários pode envolver alguns cuidados adicionais, que uma boa leitura na documentação do seu sistema. Mas o leitor Marcelo Araujo (msaraujo@tro.matrix.com.br) resolveu facilitar a nossa vida, enviando algumas dicas sobre a inclusão de tarefas nas tabelas do cron. A base do texto a seguir é do Marcelo, com complementos aqui e ali.
Essa linha de comando ira fazer que a cada 15 minutos, o netstat -a seja executado e o resultado do mesmo vá para o mail root.
O formato da linha de definição de tarefa do cron é:
minuto hora dia-do-mês mês dia-semana comando
Agora, como fazer para editar as suas crontabs? É simples... Em primeiro lugar decida qual editor de texto que você quer usar. Eu prefiro o pico com a opção -w (para evitar wordwraps). Portanto, terei que usar o comando
export EDITOR="pico -w"
Para entrar no modo de edição da crontab, após selecionar o editor de texto, basta digitar
e editar linhas como as do exemplo:
As três primeiras linhas definem a shell que vai ser usada pelos scripts, o path de procura de comandos, e o usuário que vai receber mails em caso de erros. A quarta linha define que aos 0, 15, 30 e 45 minutos de todas as horas, em todos os dias do mês, todos os meses e todos os dias da semana, vai ser executado o comando
/bin/netstat -a | /bin/mail root.
A quinta linha define que às 21:15 de todos os dias será executado o
/usr/bin/updatedb.
Você pode adicionar e remover entradas no cron à vontade. Linhas que começarem com um sinal de "#" não são consideradas, e você pode usá-las para desativar temporariamente comandos, ou para acrescentar comentários.