shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Localizar, procurar e editar com shell-script


From: Arkan Add
Subject: Re: [shell-script] Localizar, procurar e editar com shell-script
Date: Tue, 24 Jun 2014 19:48:57 -0700

Julio, 

++ sudo grep '\b51211\b' /etc/csf/csf.conf
++ sudo sed -i.veio '/^TCP_IN/; s/$/,51211' /etc/csf/csf.conf
sed: -e _expression_ #1, char 10: unknown command: `;'
++ echo Incluindo porta 51211
Incluindo porta 51211

Houve falha na adiçao da regra. Vi que voce procurou pelo valor no arquivo e não na linha, é possivel procurar somente na linha ou linhas? Eu terei que adicionar esta mesma variavel nas linhas que se iniciam com TCP_IN = , TCP_OUT = , UDP_IN = , UDP_OUT = , TCP6_IN = , TCP6_OUT = , UDP6_IN = , UDP6_OUT = .

Para remover este valor do csf.conf é que creio que esta mais complicado.

Precisara ler o valor das linhas "network port1: , network port2:" dentro do arquivo /etc/$NEWUSER1.info, voltar no /etc/csf/csf.conf e remove-las das linhas   TCP_IN = , TCP_OUT = , UDP_IN = , UDP_OUT = , TCP6_IN = , TCP6_OUT = , UDP6_IN = , UDP6_OUT = .




On Tuesday, June 24, 2014 10:44 PM, "'Julio C. Neves' address@hidden [shell-script]" <address@hidden> wrote:


 
grep "\b$NETWORKPORT1\b" /etc/csf.conf || {
    sed -i.veio "/^TCP_IN/; s/$/,$NETWORKPORT1" /etc/csf.conf
    echo Incluindo porta $NETWORKPORT1
    csf -r
    echo /etc/csf.conf está OK
    }

Abcs,
Julio
@juliobash
Próximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 02 a 06/06
São Paulo 4Linux 21 a 25/07
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


Em 24 de junho de 2014 22:21, address@hidden [shell-script] <address@hidden> escreveu:
 
Estou precisando resolver uma questão de manipulação de texto para um projeto pessoal de automação aqui. Basicamente tenho um script que cria usuarios automaticamente e estou precisando adicionar uma função para liberar portas no firewall para os serviços que este script habilita.

Utilizo o csf como firewall e consigo refazer toda uma linha com o comando abaixo:

sed -i 's/^TCP_IN =.*/TCP_IN = "227,280,9090,10500,57413"/' csf.conf

Os campos que preciso modificar são campos dentros das "".

Por exemplo:

Eu recebo a porta a porta pela variavel $NETWORKPORT1

Supondo que o valor da variavel seja 50, preciso checar se ele existe na linha TCP_IN dentro do /etc/csf.conf, se não existir, adiciona-lo e realizar o refresh de regras executando um "csf -r".

Também preciso realizar o contrario, verificar se um valor existe nesta mesma linha, remove-lo e realizar o refresh nas regras.

Qual a melhor forma de realizar tais funçoes?

 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]