
Vediamo un modo per eseguire degli script al boot di una macchina Linux. Il servizio che consente l’avvio e’ il systemctl
ad esempio creiamo uno script che all’avvio elimini tutte le regole di INPUT al firewall con il comando nano /root/regolafirewall.sh con il seguente contenuto :
#!/bin/bash
iptables -P INPUT DROP
ora con il comando chmod 777 /root/regolafirewall.sh concediamo i permessi di esecuzione allo script.
Ora creiamo il servizio che poi ci consentira’ di avviare all’avvio lo scritp portiamoci nella directory /etc/systemd/system e creiamo un file regolafirewall.service
all’interno di questo file scriviamo il seguente codice :
[Unit]
Description=Script per cancellazione regole input
[Service]
ExecStart=/root/regolafirewall.sh
ExecStop=/root/altro_script_da_eseguire_allo_stop.sh
[Install]
WantedBy=multi-user.terget
I vari parametri sono abbastanza chiari, i due ExecStart e ExecStop indicano i due script che devono essere richiamati al comando systemctl start <service> e systemctl stop <service>. Se lo script da lanciare e’ lo stesso, allora il parametro ExecStop non serve che sia specificato.
nella sezione Install il parametro WantedBy specifica che l’avvio del servizio vale per tutti gli utenti del sistema.
Ora per avviare il servizio/script possiamo lanciare il comando:
systemctl start regolafirewall.service
Mentre per farlo partire al boot possiamo lanciare il comando:
system enable regolafirewall.service
questo comando e’ permanente pertanto basta lanciarlo una volta e il servizio/script verrà eseguito ad ogni avvio .







