나는 sudo 세션 로그의 세부 사항, 특히 TSID에 대해 이해하려고 노력하고 있습니다.
몇 가지 질문이 있습니다.
- TSID는 무엇을 의미하나요?
- 디렉토리 구조를 형성하는 일련의 6개 문자입니다. - 0001A1: 각 2개의 문자 쌍은 무엇을 의미합니까?
- 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진수일 뿐이라고 믿게 만듭니다.
두 경우 모두 의미가 있는 "지능형 번호 매기기 시스템"으로 보이지 않습니다.
소스 코드 보기
grep
sudo 코드 저장소를 전달할 때뉴스 자료실조항은 다음과 같습니다:
- 이제 sudoers 정책은 "iolog_file" sudoers 옵션이 %{sessid} 이외의 값으로 정의된 경우에도 로그에 TSID 필드를 저장합니다. 이전에는 "iolog_file" 옵션이 기본값으로 설정된 경우에만 TSID 필드가 로그 파일에 포함되었습니다.
궁금하시다면 출처 TSID=
는로깅.c문서.
인용하다
답변2
TSID = TypeScript 식별자
"스크립트" 명령과 관련: http://man7.org/linux/man-pages/man1/script.1.html