SUDO I/O 로그 및 TSID

SUDO I/O 로그 및 TSID

나는 sudo 세션 로그의 세부 사항, 특히 TSID에 대해 이해하려고 노력하고 있습니다.

몇 가지 질문이 있습니다.

  1. TSID는 무엇을 의미하나요?
  2. 디렉토리 구조를 형성하는 일련의 6개 문자입니다. - 0001A1: 각 2개의 문자 쌍은 무엇을 의미합니까?
  3. TSID를 이해하는 것과 관련된 다른 모든 것이 도움이 될 것입니다.

답변1

배경

TSID는 매뉴얼 페이지에 sudoreplay다음과 같이 설명되어 있습니다.

ID는 숫자와 대문자로 구성된 6자리 문자(예: 0100A5)이거나 sudoers 파일의 iolog_file 옵션과 일치하는 패턴이어야 합니다. sudo를 통해 명령이 실행되고 sudoers 파일에서 log_output이 활성화되면 TSID=ID 문자열이 syslog 또는 sudo 로그 파일을 통해 기록됩니다. sudoreplay의 목록 모드를 사용하여 ID를 확인할 수도 있습니다.

이를 사용하여 sudoreplay -l사용 가능한 세션을 나열할 수 있으며, 세션을 재생하려면 다음 명령을 실행할 수 있습니다 sudoreplay <tsid>.

샘플 출력

AU Q&A에서 다음과 같은 제목의 샘플 출력을 찾았습니다.sudoreplay를 작동시키는 방법:

$ sudo sudoreplay -l
Nov 28 11:48:35 2014 : chrthomp : TTY=/dev/pts/1 ; CWD=/home/chrthomp/DJS/2014/Nov ; USER=root ; TSID=000001 ; COMMAND=/bin/su -

$ sudo sudoreplay 000001

추가 연구

탐색하면sudoers매뉴얼 페이지TSID=이것이 무엇인지 설명합니다 :

일반 sudo 로그 줄(접두사 "TSID="가 붙음)에 포함된 고유 세션 ID를 사용하여 iolog_dir 옵션(기본값은 /var/log/sudo-io)으로 지정된 디렉터리에 입력을 기록합니다. iolog_file 옵션을 사용하여 세션 ID의 형식을 제어할 수 있습니다.

노트:log_input유사한 구절이 및 정의에 언급되어 있습니다 log_output.

sudoers매뉴얼 페이지를 더 자세히 읽어보면 TSID=다음과 같은 이름도 있음을 알 수 있습니다 logid.

date hostname progname: username : TTY=ttyname ; PWD=cwd ; \
USER=runasuser ; GROUP=runasgroup ; TSID=logid ; \
ENV=env_vars COMMAND=command

이는 다음과 같이 이어집니다.

logid - 명령 출력을 재생하는 데 사용할 수 있는 I/O 로그 식별자입니다. log_input 또는 log_output 옵션이 활성화된 경우에만 나타납니다.

초기 생각...

내가 찾은 대부분의 예는 TSID=일련의 숫자(000001) 또는 일련의 숫자와 문자(000AE1)로 표시됩니다. 이상하게도 나는 항상 특정 문자(주로 AF)로 표시되는데, 이는 단지 증가하는 정수이거나 16진수일 뿐이라고 믿게 만듭니다.

두 경우 모두 의미가 있는 "지능형 번호 매기기 시스템"으로 보이지 않습니다.

소스 코드 보기

grepsudo 코드 저장소를 전달할 때뉴스 자료실조항은 다음과 같습니다:

  • 이제 sudoers 정책은 "iolog_file" sudoers 옵션이 %{sessid} 이외의 값으로 정의된 경우에도 로그에 TSID 필드를 저장합니다. 이전에는 "iolog_file" 옵션이 기본값으로 설정된 경우에만 TSID 필드가 로그 파일에 포함되었습니다.

궁금하시다면 출처 TSID=로깅.c문서.

인용하다

답변2

TSID = TypeScript 식별자

"스크립트" 명령과 관련: http://man7.org/linux/man-pages/man1/script.1.html

관련 정보