서버 관리자 프리랜서가 내 서버에 액세스하여 나를 위해 일부 작업을 수행하도록 허용할 예정이므로 나중에 파일에 액세스할 수 있도록 파일에 사용될 모든 SSH 명령을 저장하고 싶습니다. 내 서버에서 악성 명령을 실행하세요.
이 파일의 명령이 명령(history -c)을 사용하거나 세션을 종료하여 삭제되는 것을 원하지 않습니다.
답변1
안녕하세요, 이 작업을 수행하려면(누가 루트로 명령을 실행하기 위해 sudo를 사용하는지 알고도) /etc/rsyslog.conf에 추가한 local6.* /var/log/commands.log
다음 syslog 서비스를 다시 시작하고(local6이라는 로거가 추가됨) /에 추가할 수 있습니다. etc/bashrc 다음은 export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'
sudo를 사용하여 두 사용자 모두에 대한 기록의 마지막 줄을 기록할 때 syslog 서비스 local6을 호출합니다.