É possivel configurar determinado serviço em Linux (Firewall, Dhcp etc) usando servlet?
4 respostas
douglasmsi
E ai galera do Guj.
Irei fazer um TCC e gostaria de saber se é possivel configurar o linux usando um servlet ou java em desktop mesmo?
A idéia é configurar um firewall usando java ao invés de acessar o terminal.
Mais ou menos, porque grande parte desses comandos necessários para configuração do Linux requerem que você seja superusuário ou que pelo menos use o sudo e seja um dos sudoers, e normalmente o servlet roda como um usuário com poucos privilégios, até por motivos de segurança. Que isso é possível, é, mas dá um bocadinho de trabalho. (O jeito que eu imaginaria abriria um buracão na segurança e exigiria rodar um programa em C que é fácil de escrever mas abre um buracão na segurança. Quem pode sugerir uma solução melhor?)
douglasmsi
Então a respeito do super usuário!
A solução é que essa configuração só iria ser usado pelo root mesmo ou usuário que tenha poder do sudo.
Eu gostaria de saber se existe algum material de como acessar e/ou configurar o linux usando java.
Procuro e não encontro praticamente nada!
gomesrod
Certa vez eu fiz uma aplicação web que servia para configurar o serviço de DNS. Foi feita em shell script + CGI, e basicamente o que ela fazia era alterar o arquivo de configuração (coloquei permissão de escrita para o usuário do apache) a cada comando do usuário, depois restartava o serviço (acho que era com Sudo, não lembro bem…).
Um pouco chato de fazer, mas o princípio é simples.
Em Java não há tantas facilidades para manipular arquivos como no Shell, mas ainda é possível.
Com firewall pode ser mais fácil ainda:
Se você estiver falando de firewall do tipo iptables (cujas regras são alteradas por comandos), é mais fácil ainda porque não precisa modificar arquivos do sistema. Grave as regras em um banco de dados, depois bote pra rodar um script que lê desse banco e monta/executa os comandos.
gomesrod
O meu jeito também hehe
Mas isso pode ser contornado configurando com bastante cuidado a segurança da aplicação Web.