답변:
지금 활동을 어떻게 기록하고 있습니까? 가장 쉬운 방법은 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 셸 모드 ( :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 %가 혼란을 없앨 수 있습니다. 이 사용자의 활동을 신뢰하지 않아서이 사용자의 활동을 기록하는 경우 우려 사항에 대해 이야기 할 수 있습니다.