vi 활동을 기록 할 수 있습니까?


10

vi 활동을 기록하는 방법이 있습니까? 다른 사용자가 vi 편집기 내부의 쉘로 이동하여 명령을 실행하고 있다고 의심합니다.이 명령은 기록에 기록되지 않습니다.

답변:


6

프로세스 회계를 켤 수도 있습니다 (s / can / should /!)

그런 다음 다음을 사용할 수 있습니다.

lastcomm(1)

exec의 유무에 관계없이 명령 실행 및 포크 후에 실행되었는지 확인하십시오.

호스트 기반의 IDS와 결합하여 "왕의 정의가 그에게 이루어질 수 있도록"필요한 것을 제공해야합니다.


회계에 대한 좋은 지적을 얻으려면 +1하십시오.
Phil Hollenback

7

지금 활동을 어떻게 기록하고 있습니까? 가장 쉬운 방법은 vi에서 쉘을 시작하지 못하도록 차단하는 것입니다.

# vi /home/user/.exrc
set exrc
set shell=/bin/false
# chown root:root /home/user/.exrc
# chmod 644 /home/user/.exrc
# chattr +i /home/user/.exrc

특수 쉘을 사용하여 명령을 기록하는 경우 해당 쉘만 사용하도록 vi를 변경할 수 있습니다.


vi 액세스를 제한하는 좋은 간단한 방법은 +1입니다.
Phil Hollenback

2
"vim -u / dev / null"을 우회하기가 쉽습니다.
jlliagre

예, 이것은 본질적으로 해결할 수없는 문제입니다. 누군가가 로그인을 통해 시스템에 액세스하는 순간 컴퓨터를 파괴 할 수 있습니다. 당신이 할 수있는 최선은 정말 어렵게 만드는 것입니다.
Phil Hollenback

4

쉘 히스토리에 대해 이야기하고 있습니까? vi 셸 모드 ( :sh)는 사용자의 기본 셸을 시작합니다. bash 인 경우 전역 / etc / bashrc를 편집하고 다음을 추가하여 기록 기록이 항상 활성화되어 있는지 확인할 수 있습니다.

set HISTFILE=~/.bash_history
shopt -s histappend
PROMPT_COMMAND='history -a'

그러면 모든 사용자 명령이 파일에 기록되고 덮어 쓰지 않으며 쉘 프롬프트가 나타날 때마다 업데이트됩니다.

사용자는 개인에서이를 무시할 수 ~/.bashrc있으므로 로깅이 발생한다고 절대 보장 할 수는 없습니다.

vi의 일부 버전 (nvi와 같은)은 vi as를 시작하여 쉘 액세스를 비활성화하는 안전 모드를 지원합니다 nvi -S. /etc/bashrc기본적으로이 모드를 강제 실행하도록 전역 별명을 설정할 수도 있습니다.

일반적으로 사용자가 예기치 않은 수단을 통해 쉘에 도착하는 문제는 전형적인 유닉스 문제입니다. 이 기능을 완전히 비활성화 할 수있는 방법은 없습니다. 기본적으로 액세스를 제한하는 것이 가장 좋습니다. 고급 사용자 (또는 Google 사용법을 알고있는 사용자)는 항상 이러한 제한을 극복 할 수 있습니다. 예를 들어, 사용자가 자신의 쉘 히스토리를 기록하지 않으려면 항상 원하는 옵션을 사용하여 쉘의 새 사본을 실행할 수 있습니다.

다음 은 bash에서 강제로 로깅하는 방법과 로깅을 우회하는 방법에 대한 훌륭한 입니다.

마지막으로, 사용자의 행동을 파악하기 위해 사용자와 대화하는 것을 고려 했습니까? 간단한 구두 의사 소통의 99 %가 혼란을 없앨 수 있습니다. 이 사용자의 활동을 신뢰하지 않아서이 사용자의 활동을 기록하는 경우 우려 사항에 대해 이야기 할 수 있습니다.

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