사용자가 입력한 모든 명령의 이름, 날짜 및 명령을 기록하는 Python 스크립트

사용자가 입력한 모든 명령의 이름, 날짜 및 명령을 기록하는 Python 스크립트

나는 아마도 Python으로 제안을 받을 수 있는 스크립트를 만들고 싶습니다. 서버에 입력된 모든 명령을 기록합니다. 따라서 로그, 사용자, 타임스탬프 및 명령이 됩니다.

이것이 가능한가?

답변1

1 - Python에서 이를 달성하기 위한 다양한 접근 방식이 있을 수 있습니다. 이것기사아니면 이거기사모든 명령을 기록하는 데 도움이 될 수 있으며 Python을 사용하여 구문 분석을 수행할 수 있습니다.

2 - 확인할 수도 있습니다그시큐리티커널 수준에서 Exec 로깅을 구성합니다.

3 - 그런 다음 다음과 같은 작업을 수행할 수 있습니다(간단한 구문 분석 코드).

''A very simple log parser for ssh connections to display IP address and their User name'''

SSH_LOG_FILE_NAME = '/var/log/secure'

for line in open(SSH_LOG_FILE_NAME):
  if "sshd" in line:
    if "Accepted" in line:
      print "Connection is accepted from "
      print "User: ", line.split()[8], "IP: ", line.split()[10]
    if "session closed" in line:
      print "Connection is closed from "
      print "User: ", line.split()[10]

추신: 두 번째 것이 더 따르기 쉽고 sed를 사용하여 구문 분석하는 방법을 보여줍니다. 모든 명령을 기록할 수 있으면 Python에서도 쉽게 구문 분석할 수 있습니다.

답변2

~/.bash_history를 확인하세요. 이 로깅은 쉽게 비활성화할 수 있습니다.

관련 정보