[RISOLTO] Problema esecuzione script

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
Burroughs
Linux 4.x
Linux 4.x
Messaggi: 1019
Iscritto il: mer 15 dic 2004, 0:00
Nome Cognome: Andrea Lutri
Kernel: 3.16.0
Desktop: KDE SC 4.13.3
Distribuzione: Arch Linux
Località: Glasgow
Contatta:

[RISOLTO] Problema esecuzione script

Messaggio da Burroughs »

Salve a tutti!

Ho realizzato un banalissimo script che mi serve per visualizzare, tramite anche un cronjob d'appoggio, tutti i tentativi di intrusione alla mia Linux box provenienti dall'esterno, sulla porta 22.
Questo è il codice:

Codice: Seleziona tutto

[root@andy ~]# cat /usr/local/bin/bf-andy 
#!/bin/bash
# Script di notifica dei tentativi di connessione sulla porta 22

echo "Rimuovi il log precedente"
rm /home/alutri/Documents/backup/archy/bfc*
echo "Pubblica bfchck sulla /home dell'utente"
bfchck > /home/alutri/Documents/backup/archy/bfchck-`date +%F` 
echo "Cambia i permessi sul log"
chown alutri:users /home/alutri/Documents/backup/archy/bfc*
Il problema che riscontro è il seguente: se schedulo (perdonate l'orribile anglismo) lo script tramite un cronjob, questo viene eseguito ma il file finale (quello che si trova in /home/alutri/Documents/backup/archy) risulta vuoto, se invece lo eseguo manualmente, tutto ok.
Preciso altresì che il cronjob in questione è assegnato al superutente...
Any ideas?

Burroughs.
Ultima modifica di Burroughs il mer 17 ago 2011, 14:11, modificato 1 volta in totale.
"Two things are infinite: the universe and human stupidity; and I'm not sure about the universe" (Albert Einstein)

notsafe
Linux 2.x
Linux 2.x
Messaggi: 451
Iscritto il: mar 21 mar 2006, 11:00

Re: Problema esecuzione script

Messaggio da notsafe »

problema di path?
prova a mettere il path assoluto di bfchck.

Mario Vanoni
Iper Master
Iper Master
Messaggi: 3174
Iscritto il: lun 3 set 2007, 21:20
Nome Cognome: Mario Vanoni
Slackware: 12.2
Kernel: 3.0.4 statico
Desktop: fluxbox/seamonkey
Località: Cuasso al Monte (VA)

Re: Problema esecuzione script

Messaggio da Mario Vanoni »

notsafe ha scritto:problema di path?
prova a mettere il path assoluto di bfchck.
O aggiungi nel crontab di root in PATH= l'indirizzo di bfchck.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2903
Iscritto il: mer 13 feb 2008, 16:19
Slackware: 14.2
Kernel: 4.4.19
Desktop: KDE4
Località: Bulagna
Contatta:

Re: Problema esecuzione script

Messaggio da 414N »

Burroughs ha scritto: Ho realizzato un banalissimo script che mi serve per visualizzare, tramite anche un cronjob d'appoggio, tutti i tentativi di intrusione alla mia Linux box provenienti dall'esterno, sulla porta 22.
Non sarebbe più sensato sfruttare iptables, dato che offre delle funzionalità proprio per raggiungere questo scopo?
Io ho una regola che mi "logga" (altro terribile anglismo) e poi mi scarta tutti i pacchetti che tentano di accedere da internet ad un insieme di porte che ho specificato.
Per esempio:

Codice: Seleziona tutto

iptables -A INPUT --protocol tcp ! --source TUA_SUBNET/TUA_NETMASK --dport 22 --jump LOG --log-prefix "IPTABLES: "
iptables -A INPUT --protocol tcp ! --source TUA_SUBNET/TUA_NETMASK --dport 22 --jump DROP
Con queste due regole, fai in modo che iptables prima registri nei log di sistema (anche dmesg) il tentantivo di connessione, poi lo scarti silenziosamente (DROP).
Il log prefix è una stringa che sarà anteposta alla riga che iptables andrà a scrivere nei log di sistema. La puoi personalizzare come preferisci per poterla cercare più agevolmente.
TUA_SUBNET è l'indirizzo della tua rete (tipo 192.168.0.0); TUA_NETMASK è la netmask in notazione CIDR (255.255.255.0 = 24).
Per vedere tutti i tentativi di intrusione in tempo reale, ti dovrebbe bastare un bel

Codice: Seleziona tutto

watch 'dmesg | grep IPTABLES:'
Ovviamente, al posto di IPTABLES: devi mettere la stringa che hai scelto come log prefix.

Avatar utente
Burroughs
Linux 4.x
Linux 4.x
Messaggi: 1019
Iscritto il: mer 15 dic 2004, 0:00
Nome Cognome: Andrea Lutri
Kernel: 3.16.0
Desktop: KDE SC 4.13.3
Distribuzione: Arch Linux
Località: Glasgow
Contatta:

Re: Problema esecuzione script

Messaggio da Burroughs »

Prima di tutto, grazie per il sollecito aiuto... :)
Allora, ho risolto dando il percorso assoluto tanto nel crontab quanto all'interno dello script.
Ancora grazie...

Burroughs.
"Two things are infinite: the universe and human stupidity; and I'm not sure about the universe" (Albert Einstein)

Rispondi