Linux에서 다른 사용자의 명령 기록을 보는 방법은 무엇입니까? 명령 기록을 보려면

다른 사용자의 명령 기록을 보려면 어떻게합니까?

내 컴퓨터의 관리자입니다. 나는보기를 통해 정상적인 역사를 볼 수 /home/user_name/.bash_history있지만 user_name그들이 할 때 그 명령을 볼 수는 없습니다 sudo.

한 명의 사용자가 실행 한 모든 명령을 볼 수있는 방법이 있습니까?



답변

데비안 기반 운영 체제에서
tail /var/log/auth.log | grep username
사용자 sudo기록을 제공해야합니다 . 사용자의 일반 + sudo 명령에 대한 통일 된 명령 기록을 얻는 방법이 없다고 생각합니다.

RHEL 기반 운영 체제에서는 /var/log/secure대신 확인해야합니다 /var/log/auth.log.


답변

다음을 테스트하고 매력처럼 작동했습니다.

sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history


답변

사용자가 다음과 같이 명령을 발행 한 경우 sudo somecommand 와 같이 명령을 실행 한 경우 시스템 로그에 명령이 나타납니다.

사용자가 함께 쉘을 양산하는 경우 예를 들어, sudo -s, sudo su, sudo sh, 등, 다음 명령은 ,에있는 루트 사용자의 역사에 표시 /root/.bash_history또는 이와 유사한.


답변

# zless /var/log/auth*당신의 친구입니다. gzip 파일도 열립니다. 당신은 :n앞으로 또는:p 뒤로 .

또는 # journalctl -f -l SYSLOG_FACILITY=10예를 들어 사용할 수 있습니다 . 아치 리눅스 위키 에서 이에 대해 더 읽어보기


답변

아래 명령을 사용하십시오

sysdig -c spy_users

sysdig 가 설치되지 않은 경우 여기 에 설치 하십시오.


답변

아마이 링크는 당신에게 가치가있을 것입니다 : http://www.sudo.ws/pipermail/sudo-users/2000-March/000052.html

그러나 bash_history에 흔적을 남기지 않는 것은 공백 등으로 명령을 시작하는 문제 일뿐입니다. 이력은 로깅 도구가 아닌 도우미입니다.

독일, Daniel Leschkowski 인사말


답변

논리는 다른 많은 목표에도 적용됩니다.
/ home / filesystem에서 각 사용자의 .sh_history를 읽는 방법은 무엇입니까? 수천 개가 있다면 어떨까요?

#!/bin/ksh
last |head -10|awk '{print $1}'|
 while IFS= read -r line
 do
su - "$line" -c 'tail .sh_history'
 done

여기 스크립트가 있습니다.