Script bash ajouter des infos entre 2 lignes

xunil2003 Messages postés 766 Date d'inscription   Statut Membre Dernière intervention   -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je voudrai faire un script bash pour mes postes clients afin de modifier automatiquement le fichier /etc/shorewall/rules.
Dans le fichier rules je voudrai ajouter entre la ligne "INCLUDE rules.drakx" et la ligne "#LAST LINE -- DO NOT REMOVE" ceci ;
# Freebox  
ACCEPT net:212.27.38.253 fw udp -  
ACCEPT fw net udp 554 -  
ACCEPT fw net udp 32000:34000 -  
ACCEPT net:192.168.0.2 fw all -


le fichier rules
[root@localhost shorewall]# cat   
#  
# Shorewall version 4 - Rules File  
#  
# For information on the settings in this file, type "man shorewall-rules"  
#  
# The manpage is also online at  
# https://shorewall.org/manpages/shorewall-rules.html  
#  
####################################################################################################################################################################  
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ MARK CONNLIMIT TIME HEADERS  
# PORT PORT(S) DEST LIMIT GROUP  
#SECTION ESTABLISHED  
#SECTION RELATED  
INCLUDE rules.drakx  
#LAST LINE -- DO NOT REMOVE  


Mon script bash
 #!/bin/bash   
cp -v /etc/shorewall/rules /etc/shorewall/rules.bak  
echo "# Freebox" >> /etc/shorewall/rules  
echo "ACCEPT net:212.27.38.253 fw udp -" >> /etc/shorewall/rules  
echo "ACCEPT fw net udp 554 -" >> /etc/shorewall/rules  
echo "ACCEPT fw net udp 32000:34000 -" >> /etc/shorewall/rules  
echo "ACCEPT net:192.168.0.2 fw all -" >> /etc/shorewall/rules  
shorewall restart

Mais comment lui dire d'y ajouter entre la ligne "INCLUDE rules.drakx" et la ligne "#LAST LINE -- DO NOT REMOVE" du fichier /etc/shorewall/rules ?

Merci.

1 réponse

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Avec "sed" :

    $ cat plop 
    #  
    # Shorewall version 4 - Rules File  
    #  
    # For information on the settings in this file, type "man shorewall-rules"  
    #  
    # The manpage is also online at  
    # http://www.shorewall.net/manpages/shorewall-rules.html  
    #  
    #######################################################################################
    #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ MARK CONNLIMIT TIME HEADERS  
    # PORT PORT(S) DEST LIMIT GROUP  
    #SECTION ESTABLISHED  
    #SECTION RELATED  
    INCLUDE rules.drakx  
    #LAST LINE -- DO NOT REMOVE
    
    $ sed -i.bak '/INCLUDE rules.drakx/ a\
    # Freebox\
    ACCEPT net:212.27.38.253 fw udp -\
    ACCEPT fw net udp 554 -\
    ACCEPT fw net udp 32000:34000 -\
    ACCEPT net:192.168.0.2 fw all -
    ' plop
    
    $ cat plop 
    #  
    # Shorewall version 4 - Rules File  
    #  
    # For information on the settings in this file, type "man shorewall-rules"  
    #  
    # The manpage is also online at  
    # http://www.shorewall.net/manpages/shorewall-rules.html  
    #  
    #######################################################################################
    #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ MARK CONNLIMIT TIME HEADERS  
    # PORT PORT(S) DEST LIMIT GROUP  
    #SECTION ESTABLISHED  
    #SECTION RELATED  
    INCLUDE rules.drakx  
    # Freebox
    ACCEPT net:212.27.38.253 fw udp -
    ACCEPT fw net udp 554 -
    ACCEPT fw net udp 32000:34000 -
    ACCEPT net:192.168.0.2 fw all -
    #LAST LINE -- DO NOT REMOVE
    
    $ ls
    plop  plop.bak
    
    $
    0