권한 설정 및 스크립트 테스트
두 스크립트가 모두 생성되었으므로 다음 단계는 실행 권한을 부여하고 테스트하는 것입니다. Linux 에서는 스크립트를 터미널에서 직접 실행하려면 실행 권한이 필요합니다.
먼저, 파일의 현재 권한을 확인합니다.
ls -l /root
출력의 첫 번째 열에 권한이 표시됩니다. -rw-r--r--는 파일이 읽고 쓸 수는 있지만 실행할 수는 없음을 나타냅니다.
-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
chmod 명령과 +x 플래그를 사용하여 두 스크립트에 실행 권한을 추가합니다.
chmod +x /root/nmap_scan.sh
chmod +x /root/log_parser.py
이제 권한을 다시 확인합니다.
ls -l /root
권한 문자열 (-rwxr-xr-x) 의 x는 파일이 이제 실행 가능함을 확인합니다.
-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
권한 설정이 완료되었으므로 Bash 스크립트를 실행하여 테스트합니다.
/root/nmap_scan.sh
스크립트가 Nmap 스캔을 실행하고 다음과 유사한 결과를 출력할 것입니다.
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.
다음으로 Python 스크립트를 테스트합니다.
/root/log_parser.py
스크립트가 로그 파일을 구문 분석하고 "ERROR"가 포함된 줄만 출력합니다.
Starting log parsing...
2023-10-20 10:01:00 ERROR Connection failed
Log parsing completed.
두 스크립트 모두 이제 올바르게 작동합니다. 마지막 단계는 이를 자동으로 실행되도록 예약하는 것입니다.