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


30

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

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

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


1
자신의 암호를 훔치십시오 :) 또는 사회 공학 .. 루트가 아니며 계정이 다른 사용자의 집 / 파일을 읽거나 읽을 수없는 방식으로 설정되어 있으면 거의 제한됩니다.
링 무기명

8
"저는 컴퓨터 관리자입니다."

답변:


23

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

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


이것이 centos 시스템에 어떤 단서가 있습니까? 내 Centos 7 컴퓨터에는/var/log/auth.log
Mitch

3
/var/log/secure대신 시도하십시오 .
Kerin

완벽하게 작동합니다! 귀하의 답변에 대한 수정 요청을하시면됩니다
Mitch

4

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

sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history

1
이미이 명령을 알고 있습니다. 원래 질문에서 : "/home/user_name/.bash_history를보고 일반 기록을 볼 수 있지만 sudo를 수행 할 때 해당"user_name "의 명령을 볼 수 없습니다."
Michael Thompson

2

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

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


1
시스템 로그는 어디에 있습니까?
개럿

1

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

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



0

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

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

독일, Daniel Leschkowski 인사말


-1

논리는 다른 많은 목표에도 적용됩니다.
/ 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

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

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