문제

나가 될하는 데 사용되는 방법에서 X 을 캡처를 시작하는 모든 터미널에 트래픽을 파일에서 당신의 호스트.그것은 되었을 수도 있습니다 벌 확장,전 표준입니다.지금,나는 찾을 수 없습니다.나는 환각(할 때 얻는 오래된),또는 이것이 가능합니까?

에 대해 말하는 게 아니에요'tee'.내가 원하는 것을 보낼 수 있 xterm 제어-시퀀스를 표준출력으로 출력을 제공,파일 이름,그리고 모든 창에 표시된 그때부터를 파일에 저장(까지 북 엔 취소 발행).

도움이 되었습니까?

해결책

이 기능을 로깅이라고하며 소스 코드에 존재하지만 보안상의 이유로 기본적으로 비활성화됩니다. 당신은 정말로 당신의 터미널에 제어 시퀀스를 작성할 수있는 능력을 가진 모든 사람을 원합니까 (예를 들어, 언젠가 당신이 할 수있는 모든 파일의 저자 cat) 계정의 임의로 이름이 지정된 파일에 임의의 데이터를 작성할 수 있으려면?

예를 들어, 공격자는이 기능을 쉽게 사용하여 수정할 수 있습니다. ~/.ssh/authorized_keys 공격자 액세스 권한을 부여하고 변경합니다 ~/.profile IP 주소로 공격자를 핑합니다.

즉, xterm을 컴파일하면 --enable-logging 당신은요 #define ALLOWLOGFILECHANGES, 그런 다음 xterm 제어 시퀀스 매뉴얼, 다음 컨트롤 시퀀스에 액세스 할 수 있습니다.

^[[?46h            Start logging
^[[?46l            Stop logging
^[]46;filename\007 Change log file to `filename`

로그 파일 이름은 기본적으로 호출됩니다 Xterm.log.hostname.yyyy.mm.dd.hh.mm.ss.XXXXXX.

파이프를 통해 로깅을 활성화 할 수있는 옵션도 있습니다. 제어 시퀀스를 통해 로거를 변경할 수있는 경우에도 매우 위험합니다. 또한 누구나 시스템에서 코드를 실행할 수 있습니다.

다른 팁

질문은 다소 모호합니다.

보십시오 :

  1. 터미널 세션의 텍스트 모드 "영화"를 녹음하기위한 "ttyrec/ttyplay"
  2. 전체 세션의 로그 아웃 STDOUT 녹음을위한 "화면"
  3. 단일 명령의 stdout/stderr를 녹음하기위한 "티"

나는 조금에 의하여 혼동하는 방법을 묻는 당신의 질문입니다.먼저 당신이 언급 Xterm 다음 X 고 그 다음 터미널은,당신은 단순히 당신을 찾는"티"(man tee)명령?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top