
어떤 사용자가 터미널에서 어떤 명령을 실행했는지, 즉 사용자 중 누군가가 "rmdir abc"를 수행하고 특정 디렉터리를 제거한 경우, 그가 어떤 명령을 언제 실행했는지 알아야 합니다. 그리고 나는 그것을 원하지 않습니다. 단일 세션에서는 로그를 유지 관리하는 것처럼 이 데이터를 사용할 수 있어야 하므로 언제든지 분석할 수 있습니다.
명령도 시도 history
하고 시간도 추가했지만 명령의 "사용자"가 표시되지 않고 세션 기반이므로 ~/.bash_history
세션이 종료되지 않으면 데이터가 파일에 추가되지 않습니다. 또한 ~/.bash_history
시간과 사용자가 표시되지 않아 유용하지 않습니다. 누구든지 도와주세요. 시스템이 시작된 순간부터 어떤 사용자가 어떤 명령을 실행했는지, 그리고 몇시에 확인하고 싶습니다.
답변1
다음을 사용하여 사용자가 실행한 명령을 확인할 수 있습니다.sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history
자세한 내용은 AUTH 로그를 확인할 수도 있습니다.tail /var/log/auth.log | grep username
이와 비슷한 질문을 시도해 보세요.Bash 기록에서 타임 스탬프를 보는 방법은 무엇입니까?
답변2
나는 그것이 모든 사용자 자신의 bash 기록 파일에 있다고 생각합니다. .bash 기록 파일 목록을 가져와서 cat하면 됩니다.
cd /home
find |grep .bash_history
출력 :
./gediz/.bash_history
고양이보다
cat ./gediz/.bash_history
for 루프에서 할 수 있습니다
a=find ...
for i in $a
do
echo $a
cat $i
done
모든 루프의 모든 사용자 .bash_history를 안전한 위치에 백업하는 while 루프를 사용하여 우분투 시작을 위한 서비스를 만들거나 rc.local 파일을 편집할 수 있으므로 사용자가 자신의 파일을 삭제하더라도 수행된 작업을 확인할 수 있습니다.