Establecimiento de Permisos y Pruebas de Scripts
Con ambos scripts creados, el siguiente paso es hacerlos ejecutables y probarlos. En Linux, un script necesita permisos de ejecución para poder ejecutarse directamente desde la terminal.
Primero, comprueba los permisos actuales de los archivos.
ls -l /root
La salida muestra los permisos en la primera columna. El -rw-r--r-- indica que los archivos son legibles y modificables, pero no ejecutables.
-rw-r--r-- 1 root root 150 Oct 20 10:22 log_parser.py
-rw-r--r-- 1 root root 85 Oct 20 10:15 nmap_scan.sh
-rw-r--r-- 1 root root 112 Oct 20 10:20 sample.log
Usa el comando chmod con la bandera +x para añadir permisos de ejecución a ambos scripts.
chmod +x /root/nmap_scan.sh
chmod +x /root/log_parser.py
Ahora, comprueba los permisos de nuevo.
ls -l /root
La x en la cadena de permisos (-rwxr-xr-x) confirma que los archivos ahora son ejecutables.
-rwxr-xr-x 1 root root 150 Oct 20 10:22 log_parser.py
-rwxr-xr-x 1 root root 85 Oct 20 10:15 nmap_scan.sh
-rw-r--r-- 1 root root 112 Oct 20 10:20 sample.log
Con los permisos establecidos, prueba el script Bash ejecutándolo.
/root/nmap_scan.sh
El script ejecutará el escaneo Nmap e imprimirá los resultados, que deberían ser similares a esto:
Starting Nmap scan on localhost...
Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-20 10:30 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up, received user-set (0.00010s latency).
Other addresses for localhost (not scanned): ::1
rDNS record for 127.0.0.1: localhost
Not shown: 999 closed tcp ports (conn-refused)
PORT STATE SERVICE
...
Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds
Scan completed.
A continuación, prueba el script Python.
/root/log_parser.py
El script analizará el archivo de registro e imprimirá solo la línea que contiene "ERROR".
Starting log parsing...
2023-10-20 10:01:00 ERROR Connection failed
Log parsing completed.
Ambos scripts funcionan correctamente ahora. El paso final es programarlos para que se ejecuten automáticamente.