A sintaxe do comando é: sed -e '1,2s/TEXTO/NOVOTEXTO/g' /var/efw/outgoing/config >> /var/efw/outgoing/config.temporario
Com ele o SED vai alterar as linhas 1 e 2 do arquivo /var/efw/outgoing/config e gravar em um arquivo temporario. As regras de saida do Endian são salvas no seguinte formato:
Perceba que a linha 1 e a linha 2 são as regras que pretendemos alterar, porta 80 e porta 443 , se rodarmos o comando SED alterando o texto ON para OFF a saida será a seguinte:
Após rodarmos o comando SED precisamos aplicar e reiniciar para isto vamos utilizar o comando do Endian: /usr/local/bin/setoutgoing
Agora que você entendeu a "mágica" vamos aos scripts de exemplo necessários ?
Bloqueando as portas 80 e 443
Código: Selecionar todos
#!/bin/sh
# Bloqueia portas 80 e 443
sed -e '1,2s/on,tcp/off,tcp/g' /var/efw/outgoing/config >> /var/efw/outgoing/config.temporario
mv /var/efw/outgoing/config.temporario /var/efw/outgoing/config
/usr/local/bin/setoutgoing
exit 0
Código: Selecionar todos
#!/bin/sh
# Libera portas 80 e 443
sed -e '1,2s/off,tcp/on,tcp/g' /var/efw/outgoing/config >> /var/efw/outgoing/config.temporario
mv /var/efw/outgoing/config.temporario /var/efw/outgoing/config
/usr/local/bin/setoutgoing
exit 0
Perceba que os scripts não removem as regras, somente desmarcam elas deixando inativas.
Ela pode ser aplicada a qualquer linha do arquivo, basta informar a linha correta e o texto a ser alterado.
Agora é agendar no crontab para executar nos horários necessários.
Bom proveito