在Python中,你可以使用os
和logging
库来监控sudo命令的权限日志
-
首先,确保你的系统已经配置了sudo权限日志。通常,这些日志位于
/var/log/auth.log
(Ubuntu/Debian)或/var/log/secure
(RHEL/CentOS)。 -
使用Python的
os
库读取日志文件内容:
import os log_file = '/var/log/auth.log' # 或者 '/var/log/secure',根据你的系统 with open(log_file, 'r') as file: log_content = file.readlines()
- 使用
logging
库配置日志监控:
import logging logging.basicConfig(filename='sudo_log_monitor.log', level=logging.INFO, format='%(asctime)s - %(message)s')
- 遍历日志内容并监控sudo命令:
for line in log_content: if 'sudo' in line: logging.info(line.strip())
将以上代码片段整合到一个完整的Python脚本中:
import os import logging # 配置日志文件路径 log_file = '/var/log/auth.log' # 或者 '/var/log/secure',根据你的系统 # 配置日志监控 logging.basicConfig(filename='sudo_log_monitor.log', level=logging.INFO, format='%(asctime)s - %(message)s') # 读取日志文件内容 with open(log_file, 'r') as file: log_content = file.readlines() # 监控sudo命令 for line in log_content: if 'sudo' in line: logging.info(line.strip())
运行此脚本后,它将监控指定的日志文件,并将包含"sudo"的行记录到sudo_log_monitor.log
文件中。你可以根据需要修改日志文件路径和日志格式。